mysql到mysqli-php,只需放入";i”;


mysql to mysqli php, just put "i"?

我有一个网站上线大约5年了。刚才我注意到我使用mysql连接。

我想把它改成mysqli。

所以,我有一些问题。要将mysql更改为mysqli,我只需要在所有mysql单词后面加上"I"?

查询

eg
 $i=mysql_query("INSERT
to
 $i=mysqli_query("INSERT

num行:

$num = mysql_num_rows($rs);
to
$num = mysqli_num_rows($rs);

字符串转义:

mysql_real_escape_string
to
mysqli_real_escape_string

提取阵列

 $l = mysql_fetch_array($re);
to
 $l = mysqli_fetch_array($re);

这么简单吗?或者我需要知道其他事情?

不,没那么简单。。mysqli函数通常需要第二个参数。。。因此,请检查正在更改的任何函数的语法。例如。。您将使用mysqli_connect("localhost","my_user","my_password","my_db"); 而不是mysqli的mysql_connect("localhost", "my_user","my_password");

这将实际指导您完成:http://lv1.php.net/manual/en/class.mysqli.php

虽然mysql只是过程样式函数,但新的mysqli同时是:过程样式和对象样式。

你可以使用面向对象的风格,比如:

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
        . $mysqli->connect_error);
}

或程序风格:

$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
if (!$link) {
  die('Connect Error (' . mysqli_connect_errno() . ') '
        . mysqli_connect_error());
}

mysqli的参数被反转,即mysql_query($q,$dbc)变成了mysqli_query($dbc,$q)。还有一些函数需要额外的参数,通常是连接。Php.net有一个所有变化的完整列表。

更新:

//your connection script should look somthing like this.
$db_connnect = mysqli_connect('localhost','username','password','db_name');
//the page you require the connection on should look something like this.
require_once ('db_connect.php');
//a mysqli query would look something like this.
$q = "select * from user limit 12";
$r = mysqli_query("$db_connnect, $q"); 
while($row = mysqli_fetch_array($r)) { ... }