为了账号安全,请及时绑定邮箱和手机立即绑定

如何将MySQL转换为mysqli?

如何将MySQL转换为mysqli?

慕标5832272 2019-06-04 16:59:06
如何将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;}?>
查看完整描述

3 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

要做的第一件事很可能是替换每一个mysql_*函数调用及其等价mysqli_*至少如果您愿意使用过程API-这将是更容易的方法,考虑到您已经有了一些基于MySQLAPI的代码,这是一个过程性的代码。

为了解决这个问题,MySQLi扩展函数总结肯定是有帮助的。

例如:

注意:对于某些函数,您可能需要仔细检查参数:可能这里和那里都有一些不同-但没有那么多,我要说的是:mysql和mysqli都是基于同一个库的。(libmysql;至少对于PHP<=5.2)

例如:

  • 对于MySQL,您必须使用

    mysql_select_db

    连接后,指示要在哪个数据库上执行查询。
  • 另一方面,mysqli允许您将数据库名指定为第四个参数

    mysqli_connect.

  • 尽管如此,也有一个

    mysqli_select_db

    函数,如果您愿意的话,可以使用。


完成后,尝试执行新版本的脚本.检查一切是否正常如果没有.。是找虫的时候了;-)


查看完整回答
反对 回复 2019-06-04
?
手掌心

TA贡献1942条经验 获得超3个赞

(我知道这是旧的,但它仍然出现.)

如果你真的mysql_*带着mysqli_*所以要记住mysqli_*函数需要传递数据库链接。

例如:

mysql_query($query)

mysqli_query($link, $query)

也就是说,需要进行大量的检查。


查看完整回答
反对 回复 2019-06-04
?
MMTTMM

TA贡献1869条经验 获得超4个赞

我总是用最简单的方法

 $con = mysqli_connect($serverName,$dbusername,$dbpassword);

按以下顺序进行3步替换

  1. 所有“

    MySQL_SELECT_db(

    “有”

    mysqli_select_db($con)"

  2. 所有“

    MySQL查询(

    “有”

    mysqli_query($con)

    “和
  3. 所有“

    MySQL

    “有”

    mysqli".

每次都对我有用


查看完整回答
反对 回复 2019-06-04
  • 3 回答
  • 0 关注
  • 1415 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信