![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
今まで、以下のような記述でレコード数を取得していました。
$cnt = $dbh->selectrow_array("SELECT count(*) from table_hoge");
しかし、以下のようにしないとエラーになるサーバがあります。
($cnt) = $dbh->selectrow_array("SELECT count(*) from table_hoge");
違いとしては、上はMySQL5.0系、下はMySQL5.1系です。
バージョンによる違いかどうか、はっきりしていないのですが、
このような仕様の変更があったのでしょうか?
もしくは、上の書き方はそもそも間違いだったのでしょうか?
No.1ベストアンサー
- 回答日時:
以下のような記述が見つかりました。
If called in a scalar context for a statement handle that has more than one column, it is undefined whether the driver will return the value of the first column or the last. So don't do that. Also, in a scalar context, an "undef" is returned if there are no more rows or if an error occurred. That "undef" can't be distinguished from an "undef" returned because the first field value was NULL. For these reasons you should exercise some caution if you use "selectrow_array" in a scalar context, or just don't do that.
要約すると、配列用だからスカラに入れるのは要注意!or 入れちゃダメ。
スカラに入れるならselectrow_arrayrefで、
$ary_ref = $dbh->selectrow_arrayref($statement);
ってしてね。
という事らしいです。
参考URL:http://blue21.ddo.jp/man/man2html.html?lang=en&c …
ありがとうございます。
やはり今までの書き方が間違っていたんですね。
かなり色々な所で使ってしまっています。
大変助かります。ありがとうございました。
参考URLも何やらいろいろと載っていて、いい感じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP PHP ページング データベース 1 2022/06/16 10:30
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
count関数の値をwhere句で使用...
-
最大値の数をカウントしたい
-
SQLローダーCSV取込で、囲み文...
-
アクセスのレポートでレコード...
-
テーブルの最後(最新)のレコー...
-
【PL/SQL】FROM区に変数を使う方法
-
データ
-
2回実行のSQL文を1回にしたい
-
select文の実行結果に空白行を...
-
単一グループのグループ関数で...
-
入力データの半角スペースと全...
-
ファイルの漢数字の順番につい...
-
oracle DB内のデータを増幅す...
-
並べ替えについて
-
実人数と延べ人数
-
リストボックス内を昇順並べる方法
-
70000行以上のソートをしたいです
-
アクセスに関して。クエリの並...
-
引数によってwhere句を切り替え...
-
int型フィールドにnullを登録で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
count関数の値をwhere句で使用...
-
OUTER JOIN とgroup by
-
結合したテーブルに名前をつけ...
-
ストアドファンクションの再帰...
-
ビュー定義に集約関数を入れる...
-
SQL 自己結合で件数の条件指定
-
【初歩】項目別の合計件数をSQL...
-
最大値の数をカウントしたい
-
SQL 重複レコードの数え方
-
SQL カラムの値ごとの集計
-
市区町村別の件数をカウントす...
-
小数点以下桁数が最大の値に小...
-
同じテーブルでのUNION
-
ORDER BYで並び替えなんですが…
-
重複データを除外する際に条件...
-
初歩的な質問ですが、教えてく...
-
特定の数だけ取得するSQL文
-
複雑な並び替え処理
-
MySQLのselect文の設定に関して
-
Select文を含むUpdateの記述方...
おすすめ情報