从 MYSQL 更新到 MYSQLI [重复]

Posted

技术标签:

【中文标题】从 MYSQL 更新到 MYSQLI [重复]【英文标题】:Updating from MYSQL to MYSQLI [duplicate] 【发布时间】:2012-08-14 18:06:06 【问题描述】:

因此,由于 mysql 已被弃用,而且每个人都不断告诉我更新,我认为是时候更新了。

但由于我不习惯 mysqli_*,它对我来说似乎很陌生。当我有一个用 Mysql 编码的整个网站时,这不是一个简单的编辑。

所以我想知道:如何将以下代码转换为 Mysqli?只是为了在处理查询数据库时给我和其他任何人一个好的起点。

$sql_follows="SELECT * FROM friends WHERE user1_id=".$_SESSION['id']." AND status=2 OR user2_id=".$_SESSION['id']." AND status=2";
$query_follows=mysql_query($sql_follows) or die("Error finding friendships");
if($query_follows>0)

编辑:在阅读和编辑我的整个网站时,上面转换为 MYSQLI_ 的代码会变成这样..

 $Your_SQL_query_variable= mysqli_query($connectionvariable,"SELECT * FROM friends WHERE user1_id=".$_SESSION['id']." AND status=2 OR user2_id=".$_SESSION['id']." AND status=2")) 
        printf("Error: %s\n", $mysqli->error);
    

【问题讨论】:

这篇文章有一个很好的例子:***.com/questions/60174/… 作为旁注,现在您正在切换到 MySQLi,您应该使用准备好的语句而不是字符串连接来将特定值添加到您的 SQL。否则您可能会收到来自little Bobby Tables 的访问。 你可以用模型打败;想想如果你有像$model->get_friendships($_SESSION['id']); 这样的方法会多么容易,是时候进行一些重构了...... 你的方法是如何工作的@LawrenceCherone 【参考方案1】:

您可以从这里下载转换器工具:

https://github.com/philip/MySQLConverterTool

它生成的代码非常粗糙,主要是因为它使用$GLOBAL 变量实现默认数据库链接参数的方式。 (这也使得在有人使用通过转换器的代码时很容易识别。)

这里还有一个 MySQL Shim 库:

https://github.com/dshafik/php7-mysql-shim

【讨论】:

太棒了。在看到这个之前我刚刚完成了转换。但这将有助于将来以及其他任何也转换的人。 @Barmar。我正在到处寻找镜子,因为上面页面上的链接已经失效。你知道我现在在哪里可以找到它吗?谢谢。 @BernardA Google 找到了一个 GitHub 存储库。【参考方案2】:

改造最好的地方是看php参考库。非常易于使用,并会告诉您您需要知道的一切:

http://www.php.net/manual/en/mysqli.query.php

【讨论】:

以上是关于从 MYSQL 更新到 MYSQLI [重复]的主要内容,如果未能解决你的问题,请参考以下文章

mysqli 更新查询是不是应该返回结果?

将大型网站从 MySQL 切换到 MySQLi [重复]

更新 WordPress 以使用 mysqli 而不是 mysql

MYSQL 使用 PHP 更新或插入 [重复]

PHP从mysql *迁移到mysqli [重复]

PHP将语句插入XAMPP MySQL数据库不会导致表更新[重复]