mysql_select_db()関数に関して・・・。MySQLでテーブルの作成ができません。
こんにちは、さくらインターネットのレンタルサーバでMySQLとphpを連動させたサイトを作っているのですが、初歩的なことでつまずいてしまい困っています。
まず、フォームで入力させたデータをPOSTで受け取り、その受け取ったデータをテーブル名として、データベース上にテーブルをつくりたいのですが、エラー文が表示されるだけでできません。
データベース自体への接続はできているようなのですが、phpMyAdminで見ても全くできていません。SQL文をphpMyAdminで実行するときちんと正常にテーブルができますので、そもそもデータベースが使用できないとか、もしくはSQL文の間違いでもなさそうです。
$t1 = $_POST['test1'];
$t2 = $_POST['test2'];
echo"{$t1}を受け取りました<br>";
$link = mysql_connect('mysql**.db.sakura.ne.jp', 'ユーザー名', 'パスワード');
if (!$link) {
die('接続失敗です。'.mysql_error());
}
print('接続に成功しました。<br>');
//1.さくらインターネット内にあるデータベースの選択
$db_name = "自分のデータベース名";
$selectDB = mysql_select_db($db_name,$link) or die("接続できません。");
//2.データベース内にテーブルを作成。
echo"{$t1}がテーブル名になります。<br>";
//3.テーブル作成用SQL文
$str_sql = "CREATE TABLE {$t1}"
. "("
. "{$t2} INT(7) NOT NULL,"
. ");";
//4.上のSQL文を実行してテーブルを作る。
mysql_query($str_sql,$selectDB);
echo"データベース内にテーブル「{$t1}」を作成しました。<br>";
//データベースへの接続を切断
$close_flag = mysql_close($link);
if ($close_flag){
print('切断しました。<br>');
}
実行結果:Warning: mysql_query(): supplied argument is not a valid MySQL-Link resourceとなってテーブルは作成されず。
自分でも調べて見たところ、mysql_connect()での接続はちゃんとできているようなのですが、その次のmysql_select_db()関数がうまく働いていないようです。
つまりデータベースの選択ができていないので当然エラーとなるようです。
もう何日も悩んでいます。わかる方がいましたらどうぞよろしくお願いします。
お礼
早速のお返事ありがとうございます。 仕事上どうしても行き詰まっていました。 これで恥を掻かずにすみます。 ありがとうございました。