猿问

如何将MySQL转换为mysqli?

如何将MySQL转换为mysqli?

基于下面的代码,我如何将其转换为mysqli?


是否就像更改*mysql_query($sql)一样简单?;到mysqli_query($SQL); ?**


<?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;

}

?>


慕标5832272
浏览 1416回答 3
3回答

繁华开满天机

要做的第一件事很可能是替换每一个mysql_*函数调用及其等价mysqli_*至少如果您愿意使用过程API-这将是更容易的方法,考虑到您已经有了一些基于MySQLAPI的代码,这是一个过程性的代码。为了解决这个问题,MySQLi扩展函数总结肯定是有帮助的。例如:mysql_connect将由mysqli_connectmysql_error将由mysqli_error和/或mysqli_connect_error,取决于上下文mysql_query将由mysqli_query诸若此类注意:对于某些函数,您可能需要仔细检查参数:可能这里和那里都有一些不同-但没有那么多,我要说的是:mysql和mysqli都是基于同一个库的。(libmysql;至少对于PHP<=5.2)例如:对于MySQL,您必须使用mysql_select_db连接后,指示要在哪个数据库上执行查询。另一方面,mysqli允许您将数据库名指定为第四个参数mysqli_connect.尽管如此,也有一个mysqli_select_db函数,如果您愿意的话,可以使用。完成后,尝试执行新版本的脚本.检查一切是否正常如果没有.。是找虫的时候了;-)

手掌心

(我知道这是旧的,但它仍然出现.)如果你真的mysql_*带着mysqli_*所以要记住mysqli_*函数需要传递数据库链接。例如:mysql_query($query)成mysqli_query($link,&nbsp;$query)也就是说,需要进行大量的检查。

MMTTMM

我总是用最简单的方法&nbsp;$con&nbsp;=&nbsp;mysqli_connect($serverName,$dbusername,$dbpassword);按以下顺序进行3步替换所有“MySQL_SELECT_db(“有”mysqli_select_db($con)"所有“MySQL查询(“有”mysqli_query($con)“和所有“MySQL“有”mysqli".每次都对我有用
随时随地看视频慕课网APP
我要回答