php与mysql 绑定变量和预定义处理

非select 语句(没有结果集的)

1.建立连接数据库

  $mysqli=new mysqli("localhost","root","","sqldb");

2.判断

  if(mysqli_connect_error()){

    echo "连接数据库失败".mysqli_connect_error();

      exit;

  }

3.SQL语句拼装

  $sql="insert into shops(name,price,description) values(?,?,?,?)";

  $sql="update shops set name=?,price=?,num=?,description=?; where id=?";

4.插入SQL 语句

  $stmt=$mysqli->prepare($sql);//比较方便

5.给每一个符号的?传值(绑定参数)

  $stmt->bind_param("sdisi",$name,$price,$num,$description,$id);

6.传值

  $name="zhangsan";

  $price=22.22;

  $num=10;

  $description="very good";

  $id=10;

7.执行

  $stmt->execute();

影响行数:$stmt->offected_rows;

最后插入的ID:$stmt->insert_id;

复制代码

$mysqli=@new mysqli("localhost","root","","sqldb");    
if(mysqli_connect_error())
    {       
     echo "连接数据库错误".$mysqli_connect_error();
    }   
     /*拼装数据*/
    $sql="insert into shop values (null,?,?,?)";   
     $sql="update shop set name=?,price=?,description=? where id=?";  
       /*插入数据*/
    $stmt=$mysqli->prepare($sql);   
     /*绑定数据*/
    $stmt->bind_param("sdsi", $name, $price, $description, $id);   
     /*赋值*/
    $name="zhangsanasdfadfasdfasdf";   
     $price=2.3;    
     $description="very good";   
      $id=1;    
      /*执行*/
    $stmt->execute();

复制代码

 

select 语句(有结果集的)

 

1.连接数据库

  $mysqli=new mysqli("localhost","root","","sqldb");

2.判断数据库

  if(mysqli_connect_error()){

    echo "Error:".mysqli_connect_error();

  }

3.拼接数据库

  $sql="select id,name,price,description where id=?";

4.插入数据库

  $stmt=$myqli->prepare($sql);

5.绑定数据库

  $stmt->bind_param(i,$id);

6.绑定结果集

  $stmt->bind_result($id,$name,$price,$description);

7.赋值

  $id=10;

8.执行

  $stmt->execute();

9.取出结果集

  $stmt->store_result();

10.while 查看结果

  while($stmt->fetch()){

    echo "$id---$name---$price--$description";

  }

11.关闭结果集

  $stmt->free_result();

12.关闭数据库

  $stmt->close();

复制代码

<?php    $mysqli= @new MySQLi("localhost","root","","sqldb");    if(mysqli_connect_error())
{       
 echo "Error:".mysqli_connect_error();
    }    
    /*拼装SQL*/
    $sql="select id,name,price,description from shop where id<?";  
      /*插入*/
    $stmt=$mysqli->prepare($sql);    
    var_dump($stmt);   
     /*绑定*/
    $stmt->bind_param(i,$id);    
    /*绑定结果集*/
    $stmt->bind_result($id,$name,$price,$description);   
     /*赋值*/
    $id=10;    
    /*执行*/
    $stmt->execute();   
     /*取出结果集*/
    $stmt->store_result();   
     echo "<table border='1'>";   
      //字段信息、列信息
    $result=$stmt->result_metadata();        
    echo "<tr>";   
     while($field=$result->fetch_field())
    {        
    echo "<th>{$field->name}</th>";
    }      
    echo "</tr>";        
    /*fetch()查看结果集*/
    /*移动数据库指针*/
    //$stmt->data_seek(2);
    while($stmt->fetch()){       
      echo "<tr>";        
     echo "<td>$id</td><td>$name</td><td>$price</td><td>$description</td>"; 
     echo "</tr>";                                                     
    }   
    echo "</table>";   
     /*关闭结果集*/
    $stmt->free_result();   
     /*关闭数据库d*/
    $stmt->close();?>

复制代码


正因为来之不易,所以才有了后来的倍加珍惜。
原文地址:https://www.cnblogs.com/jjxhp/p/6915065.html