php升级5.x版本之后mysql_connect报错

php升级新版之后,对原来的mysql的访问方式有些变动,一般报错如下:

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in

原来的写法conn.php:

<?php
  class ConnectionMySQL{
      private $host="127.0.0.1";              //主机
      private $name="myname";                          //数据库的username
      private $pass="mypass";      //数据库的password
      private $table="mydb";      //数据库名称
      private $ut="utf-8";     //编码形式

     //构造函数
     function __construct(){
    //     $this->ut=$ut;
         $this->connect();
     }

     //数据库的链接
     function connect(){
//$link = new PDO($this->dsn,$this->name,$this->pass);
//$link->exec('set names utf8');
      $link=mysql_connect($this->host,$this->name,$this->pass) or die ($this->error());
      mysql_select_db($this->table,$link) or die("no database:".$this->table);
      mysql_query("SET NAMES '$this->ut'");

    }
?>

原本test.php:

<?php
header('Content-Type: text/html; charset=utf-8');
include('conn.php');
$db =  new ConnectionMySQL();
mysql_query("SET NAMES utf8");
$result = mysql_query("SELECT * FROM mytable where id='1' limit 0,1");
while($row = mysql_fetch_assoc($result))
{
        $tablename1 = $row["tablename1"];
}
?>

这样子可以读取到值...... 

但是php升级之后,ConnectionMySQL->connect()链接方式得变更,原来的conn.php可改写成如下:

<?php
$conn = mysqli_connect('127.0.0.1', 'changtu', 'changtu123!@#', 'changtu');
if(!$conn){
die("sql_connect error" . mysqli_connect_error());
}else{
echo"mysql connect ok";
}
?>

test.php改写如下:

<?php
header('Content-Type: text/html; charset=utf-8');
include('conn.php');
//$db =  new ConnectionMySQL();
//mysql_query("SET NAMES utf8");
$result = mysqli_query($conn,"SELECT * FROM mytable where id='1' limit 0,1");
while($row = mysqli_fetch_assoc($result))
{
        $tablename1 = $row["tablename1"];
}
?>

有一些变化的部分:注意//注释掉的部分,mysql_query变成了mysqli_query,以及$conn,的调用.

其他有变化的可参考:

mysql_fetch_assoc 变为:mysqli_fetch_assoc

mysql_fetch_array 变为:mysqli_fetch_array

mysql_num_rows 变为:mysqli_num_rows

等等。但基本语法不变。

譬如更新:

 mysqli_query($conn,"UPDATE tablename SET biao1 = 'biao1',biao2= 'biao2'");

插入:

 mysqli_query($conn,"INSERT INTO tablename (biao1,biao2) VALUES('biao1','biao2')");


2018/9/26 13:58:00 技术杂谈