あるPHPがあります。
このPHPは配列$food = array('orange','apple','sugar','spice','cake');を基にさまざまな処理を行っているのですが、
配列内部の要素の数が大きくなってきたので、sqlを使用して$foodを作成しようと思います。
データベース名dbname、テーブル名Tableとして、nameカラムのデータから$foodを作成…つまり、
----------------------
Table
------+
name |
------+
orange
apple
sugar
spice
cake
----------------------
↓
↓
$food = array('orange','apple','sugar','spice','cake');
などとしたいのです。
mysql_fetch_arrayなどを使用すればできると思うのですが、自分ではどうにもうまくいきません。
↓はgoogleでの検索条件を基に、私が書いたコードです
<?php
$link = mysql_connect( $hostname, $uname, $upass);
mysql_select_db( $dbname, $link)
$res = mysql_query( "SELECT * from {$name}", $link);
while( $food = mysql_fetch_assoc( $res ) ){ }
?>
どこのコードがおかしいのか教えてください。
また、できれば上のデータベースから$foodを作成するPHPを教えてください。
どなたかご教示のほど、どうかよろしくお願いします。
No.2ベストアンサー
- 回答日時:
mysql_select_dbの行末に「;」を入れてください。
while行の前に$foods = array();を追加してください。
while(...) { }をwhile(...) {$foods[] = $food['name'];}としましょう。
上記で次のような感じになります。ただし、パラメータ関係は定数にしてあります。
<?php
require_once('mysql_config.php');
$link = mysql_connect( HOSTNAME, UNAME, UPASS);
mysql_select_db( DBNAME, $link);
$name = 'tbl_foods';
$res = mysql_query( "SELECT * from {$name}", $link);
$foods = array();
while( $food = mysql_fetch_assoc( $res ) ){
$foods[] = $food['name'];
}
print_r($foods);
?>
結果は次のようになります。
Array
(
[0] => orange
[1] => apple
[2] => sugar
[3] => spice
[4] => cake
)
No.1
- 回答日時:
それぞれの変数には
必要な文字列が入っているということでしょうか?
もしそうでなければまったく動きませんし
エラーは何もでていないのでしょうか?
入っているのならば
mysql_select_db( $dbname, $link)
の最後に「;」がないくらいで大丈夫なように思えますが
本当に連想配列が作られていないのか
表示してみるといいと思います
<?php
$hostname = 'ホスト名';
$uname = 'ユーザ名';
$upass = 'パスワード';
$dbname = 'dbname';
$name = 'Table';
$link = mysql_connect( $hostname, $uname, $upass);
mysql_select_db( $dbname, $link);
$res = mysql_query( "SELECT * from {$name}", $link);
while( $food = mysql_fetch_assoc( $res ) ){
#表示確認用
echo $food['name']."<br>";
}
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mysql_connect関数の使い方
-
テーブルのレコード数を取得し...
-
phpのエラーについてです
-
MySQLに登録したデータをPHPで...
-
PHP/MySQL SQLエラーについて。
-
SQL文2つ実行
-
データベースから多次元連想配...
-
PHP と Mysql の連携時に発生す...
-
"と'の使い方を教えていただけ...
-
変数同士の引き算が出来ない
-
PHPの簡易データ検索プログラム...
-
INSERT,DELETEを同時に
-
phpでmysqlを使ってデータベー...
-
エラー3011
-
実行時エラー3131 FROM 句の構...
-
JAVA SQLServerException 列名 ...
-
MySQLでデータベースにデータin...
-
phpで複数の検索語を検索対象に...
-
csvをDBへ読み込んだら、NULLが...
-
テキストボックスに入れた内容...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルに入っているデータと...
-
sqlから多次元配列に要素を格納...
-
SQL文2つ実行
-
phpのエラーについてです
-
stringaddslashes 半角¥が消える
-
mysql_fetch_objectのエラー
-
XAMPPで画面が真っ白になります。
-
XAMMPが起動しません。
-
縦に長い<table>でなく横に長い...
-
PHP+mysqlでSQL文に文字数制限...
-
会員登録したらメールが送られ...
-
Resource id #3 をフィールドの...
-
MySQLのデータを使ってプルダウ...
-
PHPで絞り込み検索結果の件数を...
-
MySQLのUPDATE実行結果を受け取...
-
mysql_query等でレコード数を変...
-
住所録を作りたい
-
DB(MySQL)から複数行のデータを...
-
CSVをダウンロードさせた際、CS...
-
SQLの結果が返ってこない
おすすめ情報