所以我試圖用in_array從數據庫中調用一個列表,然後我檢查這些結果,看看字段「Title」是否存在於數組中以下。in_array()驗證不工作
$qGetAllTitles = "SELECT ArticleTitle FROM articles
UNION
SELECT ArticleTitle FROM temp_article";
$rGetAllTitles = mysqli_query($dbc, $qGetAllTitles);
$GetAllTitlesRow = mysqli_fetch_array($rGetAllTitles, MYSQLI_ASSOC);
if (in_array($Title, $GetAllTitlesRow['ArticleTitle'])){
$errors[0] = "The title is already taken by another article, please pick a different title";
} else {
$TTL = mysqli_escape_string($dbc, trim($Title));
$errors[0] = "Title worked";
}
我知道,字符串是大小寫敏感的(我正在尋找如何否定這個但這是另一個問題無關)
我的問題是,當我把已使用過的文章標題爲標題字段(工作,所有其他檢查我使用工作,只是不是這一個)它仍然返回「標題工作」,即使檢查不應該除非標題是唯一的。
我已經檢查在phpMyAdmin的SQL輸入(我的MySQL數據庫)和工作讓所有(3)結果,並獲取查詢的方法是從我的代碼,也可以工作在其他地方重複使用相同in_array檢查,所以我真的不知道爲什麼它不工作。
debug $ Title?也許你正在傳遞一個布爾值,或者類似的東西?嘗試調試$標題和$ GetAllTitlesRow ['ArticleTitle']看看有什麼。 – 2014-11-15 00:16:31
你確定'$ GetAllTitlesRow ['ArticleTitle']'是一個數組? – 2014-11-15 00:17:19
mysqli_fetch_array返回一個* 1 *行的數組。它不返回包含查詢所有行的數組。 – brycem 2014-11-15 00:18:15