以下是我正在使用的功能。这很奇怪,因为当我测试名称“admin”时,它返回一个包含所有正确列和值的关联数组,但是据我所知,所有其他名称测试都返回 0,这意味着从查询中找不到任何内容(我正在输入名称与数据库中的名称完全一致)。
我有一种感觉,这可能是 pdo 的某种安全功能或其他东西,但我不明白为什么它会这样。
我正在使用mysql。
有谁知道这个问题以及如何解决它?谢谢!
function getUserDetailsByName($name, $fields = "*")
{
$db = connect_db();
$query = "SELECT $fields FROM UserDetails WHERE userName=:username";
$result = $db->prepare($query);
$result->bindParam(":username", $name);
if (!($result->execute())) {
sendMessage (1,1,'Query failed',$query);
$db = null;
return;
}
if (!($result->fetch(PDO::FETCH_NUM) > 0)) {
$db = null;
return 0;
}else{
$result = $result->fetch();
$db = null;
return $result;
}
}
编辑:有人要求发布我如何调用该函数。
$user = getUserDetailsByName($_POST['value']);
if($user == 0)
{
print "user = 0";
}
print_r($user);