【发布时间】:2014-04-12 10:03:48
【问题描述】:
我有这个用 PHP 编写的 MySQL 语句,但它似乎包含语法错误。
$user_forum_sql = ( !empty($forum_id) ) ? " WHERE session_page = " . intval($forum_id) : '';
$sql = "SELECT * FROM " . $session_table_name . '"'.$user_forum_sql.'"';
这是我遇到的错误。我不确定是什么原因造成的。
SQL Error : 1064 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
SELECT * FROM ""
【问题讨论】:
-
我看到您将所有 WHERE session_page... 放入
",echo $sql以查看它的外观。试试这样:$sql = "SELECT * FROM " . $session_table_name.' '.$user_forum_sql; -
语法错误
-
echo $sql看看查询的样子,我只是想猜测一下,正如我在您的链接上看到的那样,$session_table_name也是空的 -
仍然给我一个错误,这应该是“索引页面还扫描用户和活动用户的会话表。当在线用户达到接近一千时,这种检查会及时变得昂贵. 这甚至不是 hack, 我最终在 cron 作业上有一个外部脚本来按每分钟运行精确的查询. 结果存储在哈希表中, 然后 phpBB 查询哈希表以获取列表在线用户。”
-
SELECT * FROM ""不是有效的 SQL 语句,您在那里缺少表名
标签: mysql syntax-error phpbb