みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

phpの変数をmysqlへの命令文に含みたい

mysqlへの接続等は完璧で問題なのは、phpの変数を含んだmysqlへの命令文です。
これは試行錯誤した上で間違いないと思いました。

具体的には
$link = "接続の情報" 
$table = "具体的なテーブル名"
$result = mysql_query("select * from $table",$link)
$row = mysql_fetch_array($result, mysql_assoc)
としたときに
print_r($row);
が無反応です。
元のソースが今、手元にないので細かいところを間違えているかもしれませんが、select文で$tableを書く代わりに直接「具体的なテーブル名」と書いたらうまくいったので、phpの変数をphpからmysqlへの命令文に含む方法に問題があったと思った次第で、この方法を教えていただきたいです。

$linkまで含めて命令できるなら、その方法も教えていただきたいです。
よろしくお願いいたします。

投稿日時 - 2012-07-14 15:25:40

QNo.7589993

困ってます

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>手元にないので細かいところを間違えているかもしれませんが

そうですね。提示されていない部分でどこか間違えているとしか思えません。

$sql = "select * from テーブル名";



$table = 'テーブル名';
$sql = "select * from $table";

は同じ内容にならないとおかしいです。printすれば自明だと思いますので、確認してください。

またすでに(指摘されていますが)mysql_queryの戻り値がfalseでないことは必ず確認する習慣を。


(蛇足)
個人的には二重引用符内での変数展開をアテにするのはいやなので(かといって {$table} を書くのもアレなので)

$table = 'テーブル名';
$sql = 'select * from ' . $table;

とすることが多いです。

投稿日時 - 2012-07-15 01:39:21

お礼

なぜかは結局わかりませんでした・・・
デバッグをするように心がけます!
遅くなりましたが、ありがとうございました。

投稿日時 - 2012-07-31 01:30:00

ANo.1

$result = mysql_query("select * from $table",$link) or die(mysql_error());
のようなデバッグをしてみては?

行末の;が抜けているのはご愛嬌?

投稿日時 - 2012-07-14 18:43:40

お礼

そういうものを使う発想がありませんでした・・・
遅くなりましたが、ありがとうございます!

投稿日時 - 2012-07-31 01:26:18

あなたにオススメの質問