MySQLが動かない(テーブルレコード全表示したい
初心者です。
いろいろ検索して改善していったつもりですが、なぜ動かないのかどうしてもわからないところがあったので質問させていただいてます。
/* サーバーへの接続 */
$link=mysql_connect($server,$user,$passwd);
/* データベース内のテーブルの名前を$tablesに配列で格納 */
$STS = "SHOW TABLE STATUS";
$mytables = mysql_query($STS);
while($r = mysql_fetch_array($mytables, MYSQL_ASSOC)){
$tables[] = ($r["Name"]."<br>\n");
}
/* 全テーブルのレコードを全てプリント */
foreach($tables as $value){
$results = mysql_query("select * from " . $value, $link);
while ($row = mysql_fetch_array($results, MYSQL_ASSOC)) {
print_r($row);
print("<br>\n");
}
}
mysql_close($link);
foreachの部分を
for($i = 0; $i < 2 /*$tables[$i] != 0*/; $i++){
$results = mysql_query("select * from " . $tables[$i], $link);
$row = mysql_fetch_array($results, MYSQL_ASSOC);
print_r($row);
}
でもやってみました。
これを利用して、何とか表形式でデータベースのテーブルのレコードをwebページに出力させようと思っています。
実行するとprint_r($row)の出力がでず、いろいろ試してみた結果、$resultsもしくは$rowに問題があることがわかりました。
var_dump($row); でNULLが出力されました。
var_dump($results); もやったのですが、うろ覚えなのでここには書きません。
$results = mysql_query("select * from gutaiteki_table", $link);
としたら動いたので、select * from の後に変数を続けているからだめなのかなと思いましたが、私にはどうにもしようがありません。
これを正常に動作させる方法、他にうまいやり方があればその方法を教えてほしいです。
(私はデバッグのやり方がわからないので、「改変してwebのページを更新する」というのを繰り返してプログラムを作成していますが、他に方法があればそれも併せてご意見ほしいです。これは余裕があったらで構いません。)
お礼
ありがとうございます。 参考にして頑張ってみます。