【问题标题】:Updating from MYSQL to MYSQLI [duplicate]从 MYSQL 更新到 MYSQLI [重复]
【发布时间】: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);
    }

【问题讨论】:

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

标签: php mysql mysqli


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    • 2017-05-25
    • 2013-12-06
    • 2012-05-18
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多