![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
緊急に直さなければならないのですが、私の知識では万策尽き、とても困っています。
環境はRedHat7.3でmysqlコマンドをPHPから実行しています。
複数のレコードをselect文で検索した後に、それぞれのフィールドの’A'の個数を求めるのが目的です。しかし、ひとつのレコードに、ware_name1、ware_name2、ware_name3 ・・・・・・・・ ware_name100 というフィールドが100も有り、それぞれが’A'を持つ可能性があるので、フィールド名最終部の数字部分を変数$iとし、1++で変えることにより、ループで処理をしています。
計算結果自体は、正解なのですが、どうしても下記のようなWarningメッセージが出てしまいます。
よろしくお願いします。
Warning: Supplied argument is not a valid MySQL result resource in ware_amount.php on line 7
1: $ware_amount = 0;
2:
3: for ($i=0; $i<100; $i++){
4: $num_row = 0;
5: $sql = "select * from sales where ware_name$i = 'A'" ;
6: $result = mysql_query($sql, $con);
7: $num_row = mysql_num_rows($result);
8:
9: $ware_amount = $ware_amount + $num_row;
10: }
No.2ベストアンサー
- 回答日時:
> 6: $result = mysql_query($sql, $con);
のあとで
if($result){
7: $num_row = mysql_num_rows($result);
8:
9: $ware_amount = $ware_amount + $num_row;
}
では、駄目でしたっけ?
または、
> "select * from sales where ware_name$i = 'A'"
ではなく
"select COUNT(*) from sales where ware_name$i = 'A'"
で件数を取得するようにしましょう。
この回答への補足
selenityさん
ありがとうございます。上のやり方でとても上手くいきました!!
実は下の"select COUNT(*) from sales where ware_name$i = 'A'"はこちら投稿前にやってみたんです。それで上手くいかなくて今回のやり方をしたのです。上手くいかなかった理由はselect count(*)文の結果の"数値"をPHP上で上手く取り込めなかったからです。初歩的な質問ですいません。でもcount(*)が使えれば一番良い方法ですので、ぜひ方法を教えてください。
例えば下で、「mysql_*****」の部分の記述は何とすれば良いのですか?私の記述方法がきっと悪かったのだとは思うのですが、試したものは全て失敗したのです。
5: $sql = "select (*) from sales where ware_name$i = 'A'" ;
6: $result = mysql_query($sql, $con);
7: $num = mysql_*****($result);
No.4
- 回答日時:
# う~、しまった、、、、
#3さんの言う通り、mysql_result()で取れます。
または、
select COUNT(*) as cnt from sales where ware_name$i = 'A'
のように「~ as xxx」とエイリアスを書けば、
mysql_fetch_array()やmysql_fetch_row()で連想配列に取得できます。
参考URL:http://jp.php.net/mysql_fetch_array,http://jp.ph …
selenityさん
ありがとうございました!
わからないことばかりです。
みなさん、親切でとても助かりました。
本当にありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP 10件表示 "前へ" "次へ"
-
PHPで[]の使い方について
-
mysql>PHPにデータ表示、10件ご...
-
ヒアドキュメントについて
-
mysqlから取得した配列をカンマ...
-
MySQLのデーター送信について。...
-
sqlの検索結果件数は出るのです...
-
エクセルVBAについて
-
PHP MySQL で updateができま...
-
アラートでyes noを作りたいです。
-
phpでデータリスト作成
-
ファイルのダウンロードプログラム
-
PHPでMY SQLの連想配列をリンク...
-
Basic認証
-
PHPでMySQLデータを呼び出し、w...
-
日付範囲で検索した後に降順に...
-
mySQLからデータを取り出す
-
JAVA SQLServerException 列名 ...
-
VBAについて質問です
-
<VB.NET>INSERT文でDBにデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで[]の使い方について
-
エクセルVBAについて
-
DBで検索結果に該当するデータ...
-
アラートでyes noを作りたいです。
-
phpでmysqlを使ってデータベー...
-
checkboxクリック時、SQLを実行...
-
dbに登録したデータをphpのプル...
-
PHP+MySQLでの配列のinsert文に...
-
pg_queryの結果を2回とりだす...
-
検索結果($_POST)が2ページ目...
-
PHPについてなのですが未定義の...
-
VBA初心者です。
-
PEAR::DBで取得したデータで処...
-
sortable ギブアップです…助け...
-
DBのデータを表示させたい
-
データベース表示結果のデザイン
-
PHP 勤務時間の合計を出したい
-
mySQLからデータを取り出す
-
PHP と MySQL でテーブルの行数...
-
PHPでMySQLデータを呼び出し、w...
おすすめ情報