如果数据库中存在单词,我想在用户点击提交按钮后检查他的输入。
因此,我有这段代码。但是,它总是说数据不存在,它发现条件为假。
我下面的代码有什么问题?
$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";
}
最佳答案
您的查询失败,因为您没有将数据库连接传递给:
$a = mysqli_query($data_check);
连接的变量是未知的,所以你需要基于:
$a = mysqli_query($connection, $data_check);
并且您可能必须为您的 num_rows()
使用 >0
而不是 ==1
因为可能有多个记录.
您的代码也可以进行 sql 注入(inject);使用准备好的语句。
使用 PHP 的 error reporting和查询上的 mysqli_error($connection)
。
还要确保您的连接实际上是 mysqli_
而不是另一个 api。
关于php - 为什么 mysqli_num_rows 总是返回 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45691025/