PHP 数据库连接 - mysql和mysqli

一、理解

  mysql与mysqli都是PHP语言使用数据库的函数。

  在php5版本之前,一般是用php的mysql函数去驱动mysql数据库的,如mysql_query()的函数,属于面向过程。

  在php5版本以后,增加了mysqli的函数功能,某种意义上,它是mysql系统函数的增强版,更为稳定高效安全。

二、区别

mysql mysqli

用于PHP 5之前的版本

用于PHP 5及以后版本中
非永久连接 永久连接

非持续连接函数

每次使用,都会重新打开一个新的进程

永久连接

一直都只使用同一个进程

mysql需要永久连接,需使用函数mysql_pconnect() 优点,很大程度的减轻服务器端压力
 

 三、写法

$servername = "localhost";
$username = "root";
$password = "password";
$db_name = test;

  mysql(面向过程):

<?php
  $con = mysql_connect($servername,$username,$password);//数据库连接
  $select_db = mysql_select_db($db_name);// 数据库选择
  if (!$select_db) {
      die("could not connect to the db:\n" .  mysql_error());
  }
  //查询代码
  $sql = "select * from table";
  $res = mysql_query($sql);
  if (!$res) {
      die("could get the res:\n" . mysql_error());
  }
  while ($row = mysql_fetch_assoc($res)) {
      print_r($row);
  }
  //查询代码
  //关闭数据库连接
  mysql_close($con);
?>

  mysqli(面向过程):

<?php

  $con = @mysqli_connect($servername, $username, $password,$db_name);// 连接数据库
  if (!$con) {
    die("连接失败: " . mysqli_connect_error());
  }
  $sql = "select * from table";
  $result = mysqli_query($con,$sql);// 执行sql语句
  $data = mysqli_fetch_all($result); // 从结果集中获取所有数据
  mysqli_free_result($result);//从结果集中取得行,然后释放结果内存
  mysqli_close($link);// 关闭数据库连接

?>

  mysqli(面向对象):

<?php

  $mysqli = @new mysqli($servername, $username, $password,$db_name);// 连接数据库
  if($mysqli->connect_errno){
    die("连接失败: " . $mysqli->connect_errno);
  }
  $mysqli->set_charset(‘utf8‘);   $sql
= "select * from table";   $result = $mysqli->query($sql);// 执行sql语句   $data = $result->fetch_array(); // 从结果集中获取所有数据   $mysqli->close($link);// 关闭数据库连接 ?>

 

PHP 数据库连接 - mysql和mysqli

上一篇:一点错题


下一篇:求职类App原型制作分享-Part-time Clouds