如果數據庫中存在單詞,我希望在用戶點擊提交按鈕後檢查用戶的輸入。爲什麼mysqli_num_rows總是返回0?
因此,我有這個代碼。然而,它總是說數據不存在,它發現條件爲false。
我的代碼在下面有什麼問題?
$input_word = trim($_POST["word"]);
$data_check = "SELECT * FROM word_collections WHERE single_word = '$input_word'";
$a = mysqli_query($data_check);
if (mysqli_num_rows($a) == 1)
{
echo "Data exist.";
}
else
{
echo "Data DOES NOT exist";
}
您確定它不會返回超過1嗎?更重要的是,你可以[SQL注入](http://php.net/manual/en/security.database.sql-injection.php)開放,並且應該使用[Prepared Statements](http:// php。 net/manual/en/mysqli.quickstart.prepared-statements.php)而不是串聯你的查詢。特別是因爲你沒有逃避用戶輸入! –
我讀過一篇文章,mysqli_num_rows將只返回1或0 @MagnusEriksson –
否..它返回查詢中返回的行數。 「num_rows」=「行數」。如果您有關於php函數的問題,您應該始終從soure開始:[php手冊](http://php.net/manual/en/mysqli-result.num-rows.php) –