php - SQL查询错误,无法判断

标签 php mysql

$sql="SELECT count(actid) AS tr 
        FROM useractions ua 
        WHERE qid=-1 
           OR qid IN (
               SELECT qid 
                 FROM questions q 
                 WHERE q.visible=".VISIBLE."
             ) 
          AND ua.actid =".$actid;

上面的查询给出了这个错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

这句话有什么问题吗?

我做了一个转储并得到了这个:

string "SELECT count(actid) AS tr 
            FROM useractions ua 
            WHERE qid=-1 
               OR qid IN (
                   SELECT qid 
                     FROM questions q 
                     WHERE q.visible=1
                 ) 
              AND ua.actid =" (length=270)

$actid 是另一个查询的结果,如下所示。然后将其传递给上面显示查询的函数。

foreach ($_POST['q'] as $qid) {
    list($actid) = mysql_fetch_row(mysql_query("SELECT actid FROM useractions WHERE qid='$qid'"));
    upd_facts_status($actid);
}

最佳答案

验证 VISIBLE 常量是否具有值以及 $actid 变量是否具有值。

关于php - SQL查询错误,无法判断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8334643/

相关文章:

mysql - LOAD DATA LOCAL INFILE 在 MySQL 中只导入一行

php - 从文件路径中删除上传目录地址

Php表单提交-报错

带有 vi 键绑定(bind)的 PHP IDE

php - 备份和下载 .sql 文件 Laravel 4

php - MYSQL 和 PHP 中的 JOIN 查询

Javascript - 在除 2 以外的所有页面上禁用空格

php - 如何在 CakePHP 应用程序中添加自定义布局和 css?

php - PHP 执行 shell_exec 命令但不执行任何操作

mysql - 使用 AWS OpsWorks 覆盖 RDS 中的 my.conf 模板