0

私の配列は 0 または 1 しか取得しません。mysql に PDO ステートメントを使用していますが、これが私が持っているものです

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

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

testing0かどうかに関係なく、私は常に取得しています。$first_result[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 に答える