0

我的数组只会得到 0 或 1。我正在为 mysql 使用 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

请帮忙?

谢谢!

4

3 回答 3

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];
}

希望有帮助。

于 2012-04-17T05:30:34.650 回答
0

=== 正在测试类型,在这种情况下 pdo 将返回一个字符串,因此您正在针对字符串测试一个 int 。

尝试:

if($first_result === '0'){
于 2012-04-17T05:30:40.160 回答
0

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

PHP 的 === 运算符使您能够比较或测试变量的相等性和类型。参考下面的例子。

阅读更多...

于 2012-04-17T05:30:57.850 回答