PDO 语句和读取结果。基本
PDO statement and reading results . basics
我通过 PDO 语句得到了这个函数,但我做错了什么:(
而且我也知道什么....
这是 : foreach ($result as $row);
这就是为什么我无法阅读:if($row['active'] === 'yes')
但是在 google 和堆栈上的我的搜索中我找不到写答案。
有人能看出正确的方法是什么吗????
我对 PDO 还是有点陌生:)
thnx 进阶。
include ('../../redir/mapping.php');
include ($dot2.$RMredir.$RFUserR);
$dbh = new PDO("mysql:host=".$Rhost.";dbname=".$RDB, $RDBsqlR, $RDBpassR);
$stmt = $dbh->prepare("SELECT * FROM `users` WHERE `email`=:email");
$stmt->bindParam(':email', $email,PDO::PARAM_STR);
$stmt->execute();
foreach ($result as $row);
if($stmt->rowCount() === 0)
{
$emailcheck = 'not_here';
}
else if($stmt->rowCount() === 1)
{
if($row['active'] === 'yes')
{
$emailcheck = 'here_and_active';
}
else if($row['active'] === 'no')
{
$emailcheck = 'here_and_not_active';
}
}
else
{
$emailcheck = 'error';
}
return $emailcheck;
您没有获取任何内容。在您的代码中 $result 为空:
使用fetch(PDO::FETCH_ASSOC);
获取结果。尝试:
$dbh = new PDO("mysql:host=".$Rhost.";dbname=".$RDB, $RDBsqlR, $RDBpassR);
$stmt = $dbh->prepare("SELECT * FROM `users` WHERE `email`=:email");
$stmt->bindParam(':email', $email,PDO::PARAM_STR);
$stmt->execute();
$emailcheck = array();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if($stmt->rowCount() === 0){
$emailcheck[] = 'not_here';
}
else if($stmt->rowCount() === 1){
foreach ($result as $row){
if($row['active'] === 'yes'){
$emailcheck[] = 'here_and_active';
}
else if($row['active'] === 'no'){
$emailcheck[] = 'here_and_not_active';
}
}
}
else{
$emailcheck[] = 'error';
}
var_dump($emailcheck);
我通过 PDO 语句得到了这个函数,但我做错了什么:( 而且我也知道什么....
这是 : foreach ($result as $row); 这就是为什么我无法阅读:if($row['active'] === 'yes')
但是在 google 和堆栈上的我的搜索中我找不到写答案。 有人能看出正确的方法是什么吗???? 我对 PDO 还是有点陌生:)
thnx 进阶。
include ('../../redir/mapping.php');
include ($dot2.$RMredir.$RFUserR);
$dbh = new PDO("mysql:host=".$Rhost.";dbname=".$RDB, $RDBsqlR, $RDBpassR);
$stmt = $dbh->prepare("SELECT * FROM `users` WHERE `email`=:email");
$stmt->bindParam(':email', $email,PDO::PARAM_STR);
$stmt->execute();
foreach ($result as $row);
if($stmt->rowCount() === 0)
{
$emailcheck = 'not_here';
}
else if($stmt->rowCount() === 1)
{
if($row['active'] === 'yes')
{
$emailcheck = 'here_and_active';
}
else if($row['active'] === 'no')
{
$emailcheck = 'here_and_not_active';
}
}
else
{
$emailcheck = 'error';
}
return $emailcheck;
您没有获取任何内容。在您的代码中 $result 为空:
使用fetch(PDO::FETCH_ASSOC);
获取结果。尝试:
$dbh = new PDO("mysql:host=".$Rhost.";dbname=".$RDB, $RDBsqlR, $RDBpassR);
$stmt = $dbh->prepare("SELECT * FROM `users` WHERE `email`=:email");
$stmt->bindParam(':email', $email,PDO::PARAM_STR);
$stmt->execute();
$emailcheck = array();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if($stmt->rowCount() === 0){
$emailcheck[] = 'not_here';
}
else if($stmt->rowCount() === 1){
foreach ($result as $row){
if($row['active'] === 'yes'){
$emailcheck[] = 'here_and_active';
}
else if($row['active'] === 'no'){
$emailcheck[] = 'here_and_not_active';
}
}
}
else{
$emailcheck[] = 'error';
}
var_dump($emailcheck);