PHP操作MySQL数据库详解(一)

黄舟
发布: 2017-03-25 09:41:00
原创
2607人浏览过


1. PHP连接MySQL服务器

mysql_connect()

基本语法

  • 描述:php连接mysql服务器

  • 语法:resource $link = mysql_connect($hostname, $username, $password)

  • 参数:

    • $hostname:是MySQL服务器的域名或IP地址,也可以加端口号(3306)。如:localhost:3306

    • $username:是MySQL服务器的用户名。如:root

      立即学习PHP免费学习笔记(深入)”;

    • $password:是MySQL服务器的用户密码。

  • 返回值:如果执行成功,返回一个资源标识符。如果执行失败,返回FALSE

具体操作

<?php

ini_set(display_errors, 1); //设置错误为:显示

//0.数据库配置信息
$db_host = 'loca1lhost';
$db_user = 'root';
$db_pwd = 'yeoman';

//1.PHP连接MySQL服务器
$link = @mysql_connect($db_host, $db_user, $db_pwd); //@用于屏蔽系统错误

//如果连接失败,则输出错误信息,并中止程序运行
if(!$link){
    echo "PHP连接MySQL失败!".mysql_error();
    exit(); //中止程序继续向下运行
}

?>
登录后复制

  如果MySQL服务器连接失败,而且mysql_connect()前未加@符,则会报系统错误,可以看到下面的报错信息,包含用户的许多信息,安全性不好。利用@符就可以屏蔽该系统错误,提高安全性。

Warning: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: 
Unknown MySQL server host 'local1host' (0) in /Applications/MAMP/htdocs/php_test/php_mysql.php on line 17
登录后复制

其他函数及符号

exit()

  • 描述:输出一个提示信息,并中止脚本继续向下运行。

  • 语法:void exit([$msg])

  • 参数:$msg是可选项。如果省略,只中止脚本运行。

  • 举例:exit(“PHP连接出错了”)

mysql_error()

  • 描述:返回上一次MySQL执行失败时的文本错误信息。

  • 语法:mysql_error()

屏蔽系统错误@

  • 描述:@可以屏蔽各种函数调用错误,或包含文件错误,但是不能用在函数定义或类定义之前。

2. 选择MySQL数据库

mysql_select_db()

语法

  • 描述:选择当前要操作的数据库

  • 语法:bool mysql_select_db ( string $database_name [, resource $link ] )

  • 参数:

    • $database_name:指定要选择的数据库名称。

    • $link:可选项。指定当前的活动连接。如果省略,就以上一次打开的活动连接。

  • 返回值:如果选择数据库成功,则返回TRUE。如果选择数据库失败,则返回FALSE

操作

<?php

//0.数据库配置信息
$db_name = 'yeoman92';

//2.选择当前数据库
if(!mysql_select_db($db_name, $link)){
    echo "选择数据库{$db_name}失败!".mysql_error();
    exit();
}

?>
登录后复制

3. 设置MySQL返回的数据字符集

  向MySQL服务器发送请求或返回请求结果的数据字符集

//3.设置MySQL返回的数据字符集
mysql_query(“set names utf8”);
登录后复制

4. 执行MySQL语句

mysql_query()

语法

  • 描述:发送一条 MySQL 查询

  • 语法:resource mysql_query ( string $query [, resource $link] )

  • 参数:

    • 增加记录:$query = “INSERT INTO news(title,content) VALUES(‘标题’ , ‘内容’)”

    • 删除记录:$query = “DELETE FROM news WHERE id=10”

    • 修改记录:$query = “UPDATE news SET title = ‘新标题’ , content = ‘新内容’ WHERE id=80”

    • 查询记录:$query = “SELECT * FROM news WHERE id<100”

    • $query:指要发送的SQL语句。

    • $link:可选项。指上一次打开的活动连接。

      库宝AI
      库宝AI

      库宝AI是一款功能多样的智能伙伴助手,涵盖AI写作辅助、智能设计、图像生成、智能对话等多个方面。

      库宝AI 109
      查看详情 库宝AI
  • 返回值:

    • 结果集也是一个资源标识符,是到MySQL数据的一个引用地址

    • 如果执行SELECT、SHOW、DESCRIBE命令,成功时返回结果集,失败时返回FALSE。

    • 如果执行其它的SQL语句,执行成功返回TRUE,执行失败返回FALSE。

  • 举例:

    • $result = mysql_query(“SELECT * FROM news WHERE id<100”)

    • $result = mysql_query(“DELETE * FROM news WHERE id=100”)

操作

//4.执行SQL查询:向MySQL服务器发出查询的请求$
sql = 'SELECT * FROM 007_news WHERE id<100';
$result = mysql_query($sql, $link);
登录后复制

5. 从结果集中取出一行数据

1. mysql_fetch_row()

语法

  • 描述:从结果集中取得一行作为枚举数组。

  • 语法:array mysql_fetch_row ( resource $result )

  • 参数:$result是结果集变量。

  • 返回值:返回一个枚举数组,也就是从0开始的正整数下标。这里的下标,是与表的字段下标是对应的。

  • 举例:$arr = mysql_fetch_row($result)

操作

//5.取出一条记录作为枚举数组返回
$arr = mysql_fetch_row($result);echo "<pre>";
print_r($arr);echo "</pre>";
登录后复制

执行结果

Array(
    [0] => 17
    [1] => 1
    [2] => cctv中学生信息化教学实验基地共建工程在京启动
    [3] => admin
    [4] => 中小学课外辅导网
    [5] => 
    [6] => 
    [7] => 50
    [8] => 
    [9] => 52
    [10] => 1339340691)
登录后复制

2. mysql_fetch_array()

  • 描述:从结果集中取出一行,作为混合数组返回。

  • 语法:array mysql_fetch_array ( resource $result [, int $result_type ] )

  • 参数:

    • MYSQL_BOTH:默认的。也就是两种下标都存在。

    • MYSQL_ASSOC:只有字符下标的数组。相当于mysql_fetch_assoc()的功能。

    • MYSQL_NUM:只有整数下标的数组。相当于mysql_fetch_row()的功能。

    • 以上三个参数是常量,系统常量必须全大写。

    • $result:是指结果集变量。

    • $result_type:是指返回的数组的类型。取值:MYSQL_BOTH、MYSQL_ASSOC、MYSQL_NUM

  • 返回值:返回一个数组,至于是什么数组,取决于第二个参数。

  • 举例:

    • $arr = mysql_fetch_array($result) //混合数组

    • $arr = mysql_fetch_array($result , MYSQL_ASSOC ) //关联数组

    • $arr = mysql_fetch_array($result , MYSQL_NUM) //枚举数组

3. mysql_fetch_assoc()

  • 描述:从结果集中取一行,以关联数组返回。

  • 语法:array mysql_fetch_assoc(resource $result)

  • 举例:$arr = mysql_fetch_assoc($result)

附:完整PHP代码

<?php

ini_set(display_errors, 1); //设置错误为:显示

//0.数据库配置信息
$db_host = 'localhost';
$db_user = 'root';
$db_pwd = 'yeoman';
$db_name = 'yeoman92';

//1.PHP连接MySQL服务器
$link = @mysql_connect($db_host, $db_user, $db_pwd); //@用于屏蔽系统错误

//如果连接失败,则输出错误信息,并中止程序运行
if(!$link){
    echo "PHP连接MySQL失败!".mysql_error();
    exit(); //中止程序继续向下运行
}

//2.选择当前数据库
if(!mysql_select_db($db_name, $link)){
    echo "选择数据库{$db_name}失败!".mysql_error();
    exit();
}

//3.设置MySQL返回的数据字符集
mysql_query("set names utf8");

//4.执行SQL查询:向MySQL服务器发出查询的请求
$sql = 'SELECT * FROM 007_news WHERE id<100';
$result = mysql_query($sql, $link);

//5.取出一条记录作为枚举数组返回
$arr = mysql_fetch_row($result);
echo "<pre>";
print_r($arr);
echo "</pre>";

?>
登录后复制

以上就是PHP操作MySQL数据库详解(一)的详细内容,更多请关注php中文网其它相关文章!

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号