以下是我正在使用的功能。這很奇怪,因爲當我測試名稱「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);
請出示你是如何調用該函數!而且,最後的'else'是沒有意義的。它不像之前的'if + return'會超出'return'。 – CodeAngry