如何将mysql更改为mysqli?

根据以下我用于常规mysql的代码,如何将其转换为使用mysqli?

<?PHP

//in my header file that is included on every page I have this

$DB["dbName"] = "emails";

$DB["host"] = "localhost";

$DB["user"] = "root";

$DB["pass"] = "";

$link = mysql_connect($DB['host'], $DB['user'], $DB['pass']) or die("<center>An Internal Error has Occured. Please report following error to the webmaster.<br><br>".mysql_error()."'</center>");

mysql_select_db($DB['dbName']);

// end header connection part

// function from a functions file that I run a mysql query through in any page.

function executeQuery($sql) {

$result = mysql_query($sql);

if (mysql_error()) {

$error = '<BR><center><font size="+1" face="arial" color="red">An Internal Error has Occured.<BR> The error has been recorded for review</font></center><br>';

if ($_SESSION['auto_id'] == 1) {

$sql_formatted = highlight_string(stripslashes($sql), true);

$error .= '<b>The MySQL Syntax Used</b><br>' . $sql_formatted . '<br><br><b>The MySQL Error Returned</b><br>' . mysql_error();

}

die($error);

}

return $result;

}

// example query ran on anypage of the site using executeQuery function

$sql='SELECT auto_id FROM friend_reg_user WHERE auto_id=' .$info['auto_id'];

$result_member=executequery($sql);

if($line_member=mysql_fetch_array($result_member)){

extract($line_member);

} else {

header("location: index.php");

exit;

}

?>

回答:

首先要做的可能是将每个mysql_*函数调用都替换为等效函数mysqli_*,至少在您愿意使用过程式API的情况下-考虑到您已经有一些基于MySQL

API的代码,这将是更简单的方法是一种程序性的。

为了解决这个问题,“

MySQLi扩展功能摘要”绝对是有用的。

例如:

  • mysql_connect 将被替换 mysqli_connect
  • mysql_error将被替换为mysqli_error和/或mysqli_connect_error,具体取决于上下文
  • mysql_query 将被替换 mysqli_query
  • 等等

例如:

  • 使用mysql时,必须使用mysql_select_db连接后的状态,以指示要在哪个数据库上执行查询
  • 另一方面,mysqli允许您将数据库名称指定为的第四个参数mysqli_connect
  • 不过,mysqli_select_db如果您愿意,也可以使用一个功能。

完成后,尝试执行脚本的新版本…并检查是否一切正常;如果没有…时间寻找虫子;-)

以上是 如何将mysql更改为mysqli? 的全部内容, 来源链接: utcz.com/qa/418127.html

回到顶部