試圖選擇所有沒有評論的行或評論< 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