- 締切済み
php,sqlのテーブル作成について
php,sql文について質問があります。 現在、テキストボックスに文字を入力したら、DBにその名前のテーブルを新規作成するプログラミングに挑戦中なのですが、 以下のプログラミングでは、テーブルが作成されません どこ を直したらいいのでしょうか? php,sqlに詳しい方どうかご教授お願い致します。 <?php try{ $dbh = new PDO('mysql:host=localhost;dbname=aaaa','bbbb','cccc'); }catch (PDOException $e){ var_dump($e->getMessage()); } $stt = $db->prepare('CREATE TABLE date( abcID char(6) )' ); echo'テーブルを新規作成しました'; ?> ちなみに以下のプログラミグでデーターベースに接続出来ることは確認しております <?php try{ $dbh = new PDO('mysql:host=localhost;dbname=aaaa','bbbb','cccc'); } catch(PDOException $e){ var_dump($e->getMessage()); exit; } echo'DBに接続しました'; ?>
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- agunuz
- ベストアンサー率65% (288/438)
「テーブルが作成されません」とか以前に、エラー(Fatal error)で止まりますよね。 >$dbh = new PDO('mysql:host=localhost;dbname=aaaa','bbbb','cccc'); なのに、 >$stt = $db->prepare('CREATE TABLE date( abcID char(6) )' $dbは未定義です(当然prepareメソッドなどは使えません)。 デバッグ時には「エラーメッセージを表示する設定」にしてください。その他細かい部分は下記URLで書きましたww http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13119553918
- t_ohta
- ベストアンサー率38% (5238/13705)
prepareで実行の準備をしたらexecuteで実行しなければいけません。
補足
<?php try{ $dbh = new PDO('mysql:host=localhost;dbname=aaaa','bbbb','cccc'); }catch (PDOException $e){ var_dump($e->getMessage()); } $stt = $db->prepare('CREATE TABLE date( abcID char(6) )'); $stt->execute(); echo'テーブルを新規作成しました'; ?> こちらでいいのでしょうか? こちらを実行しても何もデーターベースに反映されませんでした 他にどこかおかしいのでしょうか?