• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mysql_select_db()関数に関して・・・。MySQLでテーブルの作成ができません。)

MySQLでテーブルの作成ができません

このQ&Aのポイント
  • MySQLのmysql_select_db()関数がうまく働かず、テーブルの作成ができません。
  • データベースへの接続は成功しているようですが、mysql_select_db()関数がエラーとなります。
  • mysql_connect()での接続は正常に行えているため、問題はデータベースの選択にある可能性があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>mysql_query($str_sql,$selectDB); リンクリソースに接続しろと書いてあるのだから mysql_query($str_sql,$link); とすべきでは?ただし、第二引数は省略できるので (リンクに特定のDBを選択た情報がふくまれるということ) mysql_query($str_sql); でもいけるとは思いますが。

t_getsuei
質問者

お礼

問題解決しました! まず問題の箇所は指摘されたとうり「mysql_query($str_sql,$selectDB);」で、変数「$selectDB」には関数「mysql_select_db()」の帰り値、つまり「0」か「1」しか入っていないのでこんな処理はまったく無意味で、「mysql_query($str_sql,$link);」が正しいということです。 それからもうひとつですが、 $str_sql = "CREATE TABLE {$t1}" . "(" . "{$t2} INT(7) NOT NULL," . ");"; の箇所、「.」とか「"」はまったく不要でした。シンプルに $str_sql = "CREATE TABLE {$t1} ( {$t2} INT(7) NOT NULL);"; とすればよかったようです。どうも参考にしたサイトの情報が古すぎてこうなってしまったようです。今回はどうもありがとうございました。 後もうひとつ、mysql_connect()の後に「mysql_query('set names utf8');」と入れないと日本語がはいらないようです。

t_getsuei
質問者

補足

回答ありがとうございます。 ご指摘ありました「mysql_query($str_sql,$selectDB);」の箇所をmysql_query($str_sql,$link);としてみましたが、やはりテーブルは全く作られません。 SQL文自体はphpMyAdmin上で入力させればできるのでどこかが間違えているのでしょうか。