<?php
function searchDatabase($key, $value)
{
$key = $key;
$query = "SELECT * FROM user_data WHERE username='$value'";
$result = mysqli_query(loadDatabase(), $query);
$numRows = mysqli_num_rows($result);
if ($numRows > 0)
{
return true;
}
else
{
return false;
}
}
?>
所以我使用此代码搜索我的数据库以显示键/值对的匹配项,但是当传递到查询函数时$key
在我的数据库中找不到正确的列。如果我用用户名这个词替换它,它匹配得很好。是类型问题吗?我没有明确说明其类型,因此我可以使用相同的函数搜索其他列。
username: varchar(40)
<?php
function searchDatabase($key, $value)
{
$query = "SELECT * FROM user_data WHERE ".$key." = '".$value."'";
$result = mysqli_query(loadDatabase(), $query);
$numRows = mysqli_num_rows($result);
return ($numRows > 0);
}
?>
试试这个
$query = "SELECT * FROM user_data WHERE ".$key."='$value'";
像这样:
function searchDatabase($key, $value)
{
$query = "SELECT * FROM user_data WHERE $key='$value'";
$result = mysqli_query(loadDatabase(), $query);
$numRows = mysqli_num_rows($result);
return ($numRows > 0);
}
问题出在查询中。PHP 变量未在查询中正确回显。
<?php
function searchDatabase($key, $value)
{
$query = "SELECT * FROM user_data WHERE username='".$value."'";
$result = mysqli_query(loadDatabase(), $query);
$numRows = mysqli_num_rows($result);
return ($numRows > 0);
}
?>