前提・実現したいこと
PHPとmySQLで掲示板の様なものを作っています。ログイン機能をつけ、ログインの際に入力した情報を元に、各々専用のデータを引っ張ってきて表示する仕様を考えています。
ログインした人によって表示を変えるためにsql文のテーブル名を変数にして、使いたいのですがINSERT INTOの直後にそのまま変数を入れてはいけないのでしょうか?
トライとして$aと変数をおいて実行してみました。エラーメッセージは出ていないのですが、データとしては保存されない問題が発生しています。ご教授いただけないでしょうか。
該当のソースコード
if(!empty($_POST)){ $a = "owner"; $statement = $db->prepare('INSERT INTO `{$a}` SET name=?, email=?, password=?, picture_owner=?, picture_car=?, car_type=?, people=?, message=?, created=NOW()'); $statement->execute(array( $_SESSION['new_owner']['name'], $_SESSION['new_owner']['email'], sha1($_SESSION['new_owner']['password']), $_SESSION['new_owner']['picture_owner'], $_SESSION['new_owner']['picture_car'], $_SESSION['new_owner']['car_type'], $_SESSION['new_owner']['people'], $_SESSION['new_owner']['message'] ));
試したこと
同様の質問を見たところ、テーブル名にそのまま変数名を入れても問題なさそうでしたので、
$aという仮の変数で試してみましたがownerテーブルには保存されませんでした。
しかし、ownerをINSERT INTO の直後に直接入れると保存されました。
回答2件
あなたの回答
tips
プレビュー