使用PDO fetch获取数组并使用if语句

时间:2012-04-17 05:24:29

标签: php mysql arrays if-statement pdo

我的数组只会得到一个0或1.我正在使用mysO的PDO语句,这就是我所拥有的

$result = $fetching -> fetch();
$first_result = $result[0];

if($first_result === 0){
//do something...
}else{
echo "testing";
}

我总是得到testing无论是什么,如果是0。为了测试的目的,我已经回复了$first_result[0],它会告诉我它的价值。所以我知道这个值会输出0或者不是0.但是当它为0时,它仍会回显testing

请帮忙吗?

谢谢!

3 个答案:

答案 0 :(得分:3)

首先尝试将==设置为不等同。第二,我总是用它来检查是否有任何记录:

$q = $pdo->prepare('Your SQL');
$result = $q->execute($params);
$rows = $q->fetchAll(PDO::FETCH_ASSOC);
if (!count($rows) || !$result)
{
    echo 'No rows or error';
    // To output error $pdo->errorInfo();
}
else
{
    $el = $row[0];
}

希望有所帮助。

答案 1 :(得分:0)

===正在测试类型,在这种情况下pdo会返回一个字符串,所以你要对字符串测试一个int。

尝试:

if($first_result === '0'){

答案 2 :(得分:0)

似乎你的类型不匹配。 ===匹配值和类型

  

PHP ===运算符使您可以比较或测试两者的变量   平等和类型。请参阅下面的例子。

Read More...