弱鸡养成第四天(2020.10.21)-php连接并简单操作数据库(3)(结尾篇)

这篇博客详细介绍了PHP预处理语句机制,包括如何分步定义和转换查询字符串,绑定变量,执行SQL,以及如何查看结果集、获取行数、释放结果集和关闭prepared语句。内容涵盖了一系列PHP数据库操作函数的使用。
摘要由CSDN通过智能技术生成

预处理语句机制

分步解释php预处理的基本操作

首先,以特殊的方式定义query字符串,用’?'标识可能修改的值

  $query ='select * from student where 姓名=? or 学号=? ';

然后, 将query转换成预处理语句stmt

  $stmt= mysqli_prepare($link,$query);//将query转换成预处理语句stmt

第三步,为stmt中的每个‘?’绑定一个变量。函数的第二个参数,根据问号的个数和类型添加,详见百度

  //为?绑定变量vall
  mysqli_stmt_bind_param($stmt,'si',$name,$sno);//si表示字符串加int类型

为变量name和sno赋值,然后就可以执行sql语句了!

  //为变量val赋值王二,然后执行sql语句
  $ask_name="王二";
  $ask_sno="3";
  var_dump(mysqli_stmt_execute($stmt) );//执行成功返回true
  echo "<hr>";

上面的函数无法获得结果集,那么如果想查看结果集的值怎么办?使用下面的操作

  //绑定结果集的每个字段的值绑定到name、sno、sex变量中
  mysqli_stmt_bind_result($stmt,$name,$sno,$sex) ;
  
//抓取一个结果集中的一个记录,自动存在上面绑定的变量中
  mysqli_stmt_fetch($stmt); 
  echo "查1:{
     $name}->{
     $sno}->{
     $sex}<br>";
  
//再抓取一个结果集中的一个记录,自动存在上面绑定的变量中
  mysqli_stmt_fetch($stmt); 
  echo "查2:{
     $name}->{
     $sno}->{
     $sex}<br>";
  
  //再抓取就会失败,因为结果集已经空了
  var_dump( mysqli_stmt_fetch($stmt) );//打印NULL
  echo "查3:{
     $name}->{
     $sno}->{
     $sex}";//这些值仍然保持上次的结果

运行结果:
在这里插入图片描述
代码整合:

  //写好预处理语句,其中?是
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值