使用变量的查询在 PHPMyAdmin 中有效,但在 PHP 脚本中无效
Posted
技术标签:
【中文标题】使用变量的查询在 PHPMyAdmin 中有效,但在 PHP 脚本中无效【英文标题】:A query that uses variables works in PHPMyAdmin, but not in a PHP script 【发布时间】:2014-10-17 06:15:49 【问题描述】:当我在 phpMyAdmin 中使用 SQL 输入框时,以下查询返回预期结果,但是在 PHP mysqli 查询 ($sql->query()
) 中出现错误。
SET @a = 5;
SET @b = (SELECT `b` FROM `t` WHERE `c`=@a);
SELECT @b;
我得到的错误是:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的 'SET @b= (SELECT b
FROM `t' 附近使用正确的语法
【问题讨论】:
php.net/mysqli_multi_query 【参考方案1】:您正在执行 3 个查询而不是 1 个查询,因此您需要 multi_query()
而不是 query()
。
【讨论】:
multi_query 是否适用于单个查询?即我可以将 multi_query 用于SELECT
b` FROM t
WHERE c
='5'`
@user3887706 Executes one or multiple queries which are concatenated by a semicolon.
是的,它确实有效。喜欢的手册页说Executes one or multiple queries which are concatenated by a semicolon.
以上是关于使用变量的查询在 PHPMyAdmin 中有效,但在 PHP 脚本中无效的主要内容,如果未能解决你的问题,请参考以下文章
查询适用于 phpMyAdmin,但不适用于 Java [重复]
SQL 查询在 phpMyAdmin 中有效,但在 Java 中无效
MySQL Query 在 PhpMyAdmin 中有效,但在 JAVA Eclipse 中无效