【问题标题】:PHP sql statement that fails in a script but works on a production server在脚本中失败但在生产服务器上工作的 PHP sql 语句
【发布时间】:2011-11-10 02:52:55
【问题描述】:

我正在建立一个网站,我已经在生产服务器上测试了这个 sql 语句,它可以工作,没有错误并返回正确的结果。但是当我通过php执行它时,它告诉我我有一个错误。

$query = "SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
    select r.id, r.name from recipes r inner join fav5 f on r.id=f.recipeid where   f.memberid='$id'";

这是在 php 脚本中使用时的错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在“select r.id, r.name from recipes r inner join fav5 f on r.id=f.recipeid where f.”附近使用。在第 2 行

这到底是怎么回事!

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    不能在 php 的 sql 中使用分隔符 (;)

    这是一个安全问题,一次一行。

    【讨论】:

    • 根据 Stack Overflow,我想我无法在 8 分钟内接受答案,但我只是试了一下,它奏效了!你是最棒的!!!!当它允许我时,我会接受它作为答案:)
    【解决方案2】:

    我假设您正在使用mysql_query() 来执行 SQL。如果是这样,该函数不支持多查询。

    您需要使用mysqli_multi_query()

    【讨论】:

    • 仅供参考,许多服务器没有使用 php 安装 mysqli 扩展。如果你不能让它工作,那可能就是问题所在。
    猜你喜欢
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-02
    • 2019-06-08
    相关资源
    最近更新 更多