現在、テキストボックスに文字を入力したら、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) )'
);
$stt->execute();
echo'テーブルを新規作成しました';
?>
ちなみに以下のプログラミグでデーターベースに接続出来ることは確認しております
<?php
try{
$dbh = new PDO('mysql:host=localhost;dbname=aaaa','bbbb','cccc');
} catch(PDOException $e){
var_dump($e->getMessage());
exit;
}
echo'DBに接続しました';
?>
質問にあるソースコードを修正してみました。動作確認はしていませんが動くと思います。
・prepare するオブジェクトの変数名が間違ってたので修正
・prepare() や execute() でも例外が出る可能性があるので try ブロックを拡張
・接続の切断を追加
<?php try { $dbh = new PDO('mysql:host=localhost;dbname=aaaa','bbbb','cccc'); $stt = $dbh->prepare('CREATE TABLE date( abcID char(6) )'); $stt->execute(); echo'テーブルを新規作成しました'; $dbh = null; } catch (PDOException $e) { var_dump($e->getMessage()); } ?>
コメント(3件)
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13119553918
一般には『行儀の悪い行為』と言われます。(理由についてはお調べください)
ご指摘ありがとうございます
質問者さんの品格が問われる話ですし、今後の質問への回答にも影響するので
キチンと後始末するというのが次善の手ですね。