【发布时间】:2015-01-08 20:24:38
【问题描述】:
我有一个postgred db,我想从表中获取一个特定的字符串值,然后做一个条件来查看是否找到了该字符串。这是我的代码:
function tipo_utilizador($username, $password) {
global $conn;
$user = $conn->prepare("SELECT type
FROM utilizador2
WHERE name = :username AND password = :password");
$user->bindParam(':username', $username);
$user->bindParam(':password', $password);
$user->execute();
return $user->fetch();
}
然后我做一个 if 条件:
$some_variable = 0;
$var = tipo_utilizador($username, $password);
if($var == "admin") {
$some_variable=1;
}
echo $some_variable;
但是当我回显$some_variable 时,它总是返回0。SQL 代码工作正常,用户名和密码回显也可以。
错误似乎在函数内部,但我不知道它是什么。有人可以帮我吗?
【问题讨论】:
-
做
print_r($var);你会看到的 -
->fetch()返回一个数组,而不是一列。您可能还想只通过用户名查询并切换到 password_hash/verify。
标签: php postgresql pdo