行が存在しない場合は条件を設定したいと思っています。PDO/PHP - 行が存在するかどうかを調べる
$stmt = $conn->prepare('SELECT * FROM table WHERE ID=?');
$stmt->bindParam(1, $_GET['id'], PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
はif (count($row) == 0)
とif($stmt->rowCount() < 0)
を試みたが、それらのどれも機能しません。
[ '$ stmt->をrowCount()'](http://php.net/manual/en/pdostatement.rowcount.php)すべきです* '0'より小さいかどうかをチェックすることは役に立ちません - * '0'または* '1'より小さい* – DaveRandom
@DaveRandom docsはすべてのドライバではないことを示しています'SELECT'が' rowCount'を返すようにします。どうやら実際には 'columnCount'を使っているはずです。 –
@arxanas公正な点ですが、行数を取得するために2つのクエリを率直に実行しています(マニュアルが示唆しているように)のはすごい解決策です。 '$ rowCount = count($ rows = $ stmt-> fetchAll())'はそれより優れた解決策であり、行がない場合でも '0'を返します。 – DaveRandom