解析在PHP中使用mysqli扩展库对mysql的操作

1、在PHP中 使用mysqli扩展库对mysql 的dql操作

  

复制代码 代码如下:

  <?php

  header("Content-type: text/html;charset=utf-8");

  //mysqli操作mysql数据库(面向对象方式)

  //1、创建MySQLi对象

  $mysqli =new MySQLi("localhost","root","root","test");

  if($mysqli->connect_error){

  die("连接失败".$mysqli->connect_error);

  }

  //2、操作数据库(发送sql)

  $sql="select *from user1";

  //3、处理结果

  $res =$mysqli->query($sql);

  //var_dump($res);

  //fetch_assoc \fetch_array \fetch_object

  while($row=$res->fetch_row()){

  var_dump($row);

  /*        foreach($row as $val){

  echo '--'.$val;

  }

  echo '<br/>';*/

  }

  //4、关闭资源

  $res->free();

  $mysqli->close();

  ?>

  下面是面向过程的

  

复制代码 代码如下:

  <?php

  header("Content-type: text/html;charset=utf-8");

  $mysqli=mysqli_connect("localhost","root","root","test");

  if(!$mysqli){

  die("连接失败".mysqli_connect_error());

  }

  $sql="select *from user1";

  $res=mysqli_query($mysqli,$sql);

  //var_dump($res);

  while($row=mysqli_fetch_row($res)){

  foreach ($row as $val){

  echo '-'.$val;

  }

  echo '<br/>';

  }

  //释放内存

  mysqli_free_result($res);

  mysqli_close($mysqli);

  ?>

  2、在PHP中 使用mysqli扩展库对mysql 的dml操作

  

复制代码 代码如下:

  <?php

  //使用mysqli 扩展库对mysql的crud 操作

  header("Content-type: text/html;charset=utf-8");

  $mysqli = new MySQLi("localhost","root","root","test");

  if($mysqli->connect_error){

  die("连接失败".$mysql->connect_error);

  }

  //增加一条记录

  //$sql="insert into user1 (name,password,email,age) values ('lucy',md5('lucy'),'[email protected]',17)";

  //删除一条记录

  //$sql="delete from user1 where id =80";

  //更新一条记录

  $sql="update user1 set age=20 where id=7";

  $res=$mysqli->query($sql);

  if(!$res){

  echo "操作失败".$mysqli->error;

  }else{

  if($mysqli->affected_rows>0){

  echo "成功";

  }else{

  echo "没有行受影响";

  }

  }

  //关闭资源

  $mysqli->close();

  ?>

  3、进行封装

  

复制代码 代码如下:

  <?

  class SqlHelper{

  private $mysqli;

  //这里先写死,以后写死的东西用一个文件来配置

  private static $host="localhost";

  private static $user="root";

  private static $pwd="root";

  private static $db="test";

  public function __construct(){

  $this->mysqli=new MySQLi(self::$host,self::$user,self::$pwd,self::$db);

  if($this->mysqli->connect_error){

  die("连接失败".$this->mysqli->connect_error);

  }

  //设置字符集

  $this->mysqli->query("set names utf8");

  }

  //dql operate

  function execute_dql($sql){

  $res =$this->mysqli->query($sql) or die($this->mysqli->error);

  return $res;

  }

  //dml operate

  function execute_dml($sql){

  $res =$this->mysqli->query($sql) or die($this->mysqli->error);

  if(!$res){

  return 0;//失败

  }else{

  if($this->mysqli->affected_rows>0){

  return 1;//成功

  }else{

  return 2;//没有行到影响

  }

  }

  }

  }

  ?>