如何使用 PDO 获取字符串
How to fetch a string using PDO
我有一个 postgred
数据库,我想从表中获取特定的字符串值,然后执行一个条件以查看是否找到该字符串。这是我的代码:
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
时,它总是 returns 0。SQL
代码工作正常,用户名和密码回显也没有问题。
错误似乎在函数内部,但我不知道它是什么。有人可以帮助我吗?
fetch 方法将 return 一个以字段作为键的数组,而不是单个字符串。你需要这样的东西
$var=tipo_utilizador($username, $password);
if($var['type'] == "admin") {
$some_variable = 1;
}
这是错误的:
$var=tipo_utilizador($username, $password);
if($var=="admin")
您的函数 returns 一个数组,因此您需要从该数组中获取正确的元素:
if ($var['type'] === "admin")
如果你这样做:
print_r($var);
你会明白为什么它不起作用!因为是数组,所以用这个:
if ($var['type'] == "admin")
我有一个 postgred
数据库,我想从表中获取特定的字符串值,然后执行一个条件以查看是否找到该字符串。这是我的代码:
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
时,它总是 returns 0。SQL
代码工作正常,用户名和密码回显也没有问题。
错误似乎在函数内部,但我不知道它是什么。有人可以帮助我吗?
fetch 方法将 return 一个以字段作为键的数组,而不是单个字符串。你需要这样的东西
$var=tipo_utilizador($username, $password);
if($var['type'] == "admin") {
$some_variable = 1;
}
这是错误的:
$var=tipo_utilizador($username, $password);
if($var=="admin")
您的函数 returns 一个数组,因此您需要从该数组中获取正确的元素:
if ($var['type'] === "admin")
如果你这样做:
print_r($var);
你会明白为什么它不起作用!因为是数组,所以用这个:
if ($var['type'] == "admin")