引用符ではなく、テーブル名の前後にバッククォートを使用します。そして、入力をエスケープします!また、これはローカルホストで機能しますが、本番サーバーで実行しているユーザーが特権を持っていることを確認してください テーブルを作成します(もちろん、共有ホスティングでは通常、AFAIKではありません)。
警告の言葉: ユーザー入力でテーブルを作成してもよろしいですか?この方法でいくつのテーブルを作成しますか? 値を挿入するように全体を再設計することはできません 代わりに?
$name = mysql_real_escape_string($_POST['name']);
mysql_query("CREATE TABLE `".$name."` ( name VARCHAR(30), age INT, car VARCHAR(30))");