2015-04-05 80 views
0

我有一個在線大約5年的網站。剛纔我注意到我使用mysql連接。mysql到mysqli php,只是把「我」?

我想將其更改爲mysqli。

所以,我有一些問題。 要將mysql更改爲mysqli我只需要在所有mysql字之後加上「i」?

查詢

eg 
$i=mysql_query("INSERT 

to 
$i=mysqli_query("INSERT 

民行:

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

字符串轉義:

mysql_real_escape_string 
to 
mysqli_real_escape_string 

取指arraw

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

是那麼簡單?或者我需要知道別的嗎?

+0

請看看PHP手冊中的MySQLi函數http://php.net/manual/en/book.mysqli.php – TheSk8rJesus 2015-04-05 11:42:52

回答

0

不,它不是那麼簡單..mysqli函數通常需要第二個參數...所以檢查你正在改變的任何函數的語法。 對於mysql_connect("localhost", "my_user","my_password"); instance..instead爲的mysqli您將使用mysqli_connect("localhost","my_user","my_password","my_db");

0

這實際上將引導您完成: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()); 
} 
0

的mysqli的參數被顛倒,即mysql_query($ q,$ dbc)變爲mysqli_query($ dbc,$ q)。另外一些功能需要額外的參數,通常是連接。 Php.net有所有更改的完整列表。

UPDATE:

//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)) { ... } 
+0

我用的是這樣的: $ users = mysql_query(「select * from user limit 12」); while($ usersfetch = mysql_fetch_array($ users)){ ... } 我的mysql_query沒有任何數據庫名稱,它的工作原理。 mysqli無法正常工作? – 2015-04-05 12:23:36