PHP数据库操作的基本使用

PHP数据库的连接
函数:mysqli_connect()

/*
  *连接数据库
  */
  $host='localhost';              //主机名或IP
  $user='onion';                 //用户名
  $password='onion';             //密码
  $database='php_wish';            //数据库名
  $port=3306;                       //端口号,看省略
  $charset='utf8';           //字符集
  $link=mysqli_connect($host, $user, $password, $database, $port);
  if(!$link){
  	exit('数据库连接失败!');
  }
  mysqli_set_charset($link, $charset);   //设置数据库的字符集

注:

当数据库连接失败时,mysqli_connect()函数会给出错误提示信息但影响用户体验。这时可以使用@屏蔽错误信息,让程序只输出指定的提示信息

$link = mysqli_connect('localhost','root','123456') or exit('数据库连接失败!');

or是比较运算符,只有左边表达式的值为false时,才会执行右边的表达式;exit用于停止脚本,同时输出错误信息。另外,如果需要获取具体的错误信息,可以通过 mysqli_connect_error() 函数来获取

执行SQL语句

在完成PHP于MySQL数据库连接后,通常使用 mysql_query() 函数发送sql语句,获取结果集

$result = mysqli_query($link,$sql)

//打开数据库myInfo
mysqli_query($link,"use database 'myInfo'")

$link是通过mysqli_connect()函数获取的数据库连接,$sql表示sql语句

处理结果集
在使用mysqli_query() 执行select等语句后会返回一个资源类型的结果集,因此使用函数从结果集中获取信息
mysqli_num_rows():获取结果集中的数量
mysqli_fetch_all():获取所有的结果,并以数组方式饭hi
mysqli_fetch_array():获取一行结果,并以数组方式返回
mysqli_fetch_assoc():获取一行结果并以关联数组返回
mysqli_fetch_row():获取一行结果并以索引数组返回

例:

while($row = mysqli_fetch_assoc($result)){
         ......
}

每次获取结果集的一行,当结果集中的数据全部取出后返回false终止循环

其它操作函数

mysqli_insert_id():获取上一次插入操作时产生的id号
mysqli_affected_rows():获取上一次操作时受影响的行数
mysqli_error():返回最近函数调用的错误代码
mysqli_free_result():释放结果集
mysqli_close():关闭数据库连接

预处理 了解

  • 预处理模板: mysqli_prepare()
  • 模板的参数绑定:mysqli_stmt_bind_params()
  • 实现预处理的执行:mysqli_stmt_execute()

实例

//连接数据库并设置字符集
$link = mysqli_connect('localhost','root','123456');
mysqli_set_charset($link,'utf-8');
//设置预处理模板
$stmt = mysqli_prepare($link,`update 'student' set 'name'=? where 'id'= ?);
//绑定参数,并为绑定的变量赋值
mysqli_stmt_bind_param($stmt,'si',$name,$id);  //name字符型,id整型
$name = 'dsa';
$id = 1;
//执行
mysqli_stmt_query($stmt)

注:mysqli_stmt_bind_param函数的第二个参数为绑定变量的数据类型,数据类型要与变量类型一一对应

i: 表示变量为MYSQL中的integer类型
d: 表示变量为MYSQL中的double类型
s: 表示变量为MYSQL中的string类型
b: 表示变量为MYSQL中的blob类型

数据库操作类:传送门

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无知的小菜鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值