试图选择所有没有评论的行或评论< 5个字符。建立的MySQL查询我的phpmyadmin不能在PHP中使用WHERE子句
从基础开始,这个工程:
$query= "SELECT * FROM `comments`";
$result = mysql_query($query);
什么不工作是:
$query = "SELECT * FROM `comments` WHERE `comment` = ''";
或
$sql = "SELECT * from comments WHERE LENGTH(comment) < 5 LIMIT 30";
我已经把限5,因为当我做关于“空”评论的COUNT,它说那里有4个字节。列不为空(不要怪我,我没写呢!)
我甚至已经使用phpMyAdmin改变“空”值单词“鸡”的尝试,那么在运行
因此,我使用phpmyadmin将4个字符的所有注释实例更改为单词“chicken”。
$query = "SELECT * FROM `comments` WHERE `comment` = 'chicken'";
与所有上述错误,它喷出了:
您的SQL语法错误;检查对应于你的MySQL服务器版本使用附近的“正确的语法手册”第1行
但如果我这样做
$emptycomment = "chicken";
$query = sprintf("SELECT * FROM `comments` WHERE `comment` = $emptycomment");
查询无效:未知列“鸡”在“where子句”
WTF ?!但是,这在phpmyadmin中完美运行! (以上所有关于稳定和Alpha版本测试)
我也看到了在那里别人放:
$query = sprintf("SELECT * FROM `comments` WHERE `comment` = 'chicken'");
此外,在上述任何没有骰子。
愚蠢的是,这些所有工作完全直接作为一个mysql查询,并且上面甚至由phpmyadmin生成! 我甚至更新了PHP到5.3.2,安装的mysql是5.1.52
我已经尝试使它完全按照示例2在这里,使用变量的一切。 http://php.net/manual/en/function.mysql-query.php
我已经按照这里的教程: http://www.devshed.com/c/a/MySQL/Null-and-Empty-Strings/3/
我浏览这里约20篇文章,在#1。
现在是上午11:15。我在六点半开始。在这里感到有点沮丧。谢谢!
值得注意的是,PHP只是您用来生成碰巧是SQL语句的字符串的工具。 MySQL服务器永远不会看到你的PHP代码:只有结果字符串。在设法获得返回适当结果的SQL语句之前,您不应该关心PHP。 – 2010-11-30 11:41:34