【发布时间】:2012-07-06 19:51:13
【问题描述】:
我有一个查询来检查数据库是否与输入的用户名和密码匹配,该查询的对应值将是 0(不匹配)或 1(匹配)。这将在列 (itDoesExist) 中输出一个值,即 1 或 0。
我想知道的是,如何在 PHP 中获得该值?我想我在这里遗漏了一些东西,我似乎无法弄清楚那是什么。
代码如下:
$stmt = $link->prepare("
SELECT CASE WHEN
EXISTS (
SELECT 1
FROM user_details
INNER JOIN user_info
ON user_details.id = user_info.id
WHERE user_info.emailContact = ?
AND user_details.password = ?
)
OR EXISTS (
SELECT 1
FROM user_details
INNER JOIN user_business_info
ON user_details.id = user_business_info.id
WHERE user_business_info.emailContact = ?
AND user_details.password = ?
)
THEN 1
ELSE 0
END AS itDoesExist
");
if (!$stmt)
{
$error = "{$link->errno} : {$link->error} (Error Searching For User)";
include "C:/wamp/www/includes/html/main/error.html.php";
exit();
}
if (!$stmt->bind_param("ssss", $username, $password, $username, $password))
{
$error = "{$stmt->errno} : {$stmt->error}";
include "C:/wamp/www/includes/html/main/error.html.php";
exit();
}
if (!$stmt->execute())
{
$error = "{$stmt->errno} : {$stmt->error} (Cant execute?)";
include "C:/wamp/www/includes/html/main/error.html.php";
exit();
}
提前感谢您提供这方面的任何帮助或信息!
【问题讨论】:
-
简短回答。你不能。不过我希望你能做到。
-
@Ignas 开玩笑? :( 如何让语句返回布尔值?
-
如果您正在谈论使用“?”输出查询,则不能替换为值。
-
您是要查找使用替换值执行的查询还是要获取
SELECT语句的结果? -
还是只想获取查询结果?
标签: php mysqli prepared-statement