したがって、エラーが発生するコードのスニペットは次のとおりです。
$con = mysqli_connect('localhost', 'root', '', 'notesDB');
if(isset($_POST['tableName'])) {
$tName = htmlentities($_POST['tableName']);
$firstQuery = mysqli_query($con,"INSERT into notes(Title) VALUES( '$tName'); CREATE TABLE $tName(id int NOT NULL AUTO_INCREMENT, Title varchar(20) NOT NULL, Description varchar(100), PRIMARY KEY(id));");
if($firstQuery){
header("Location: create2.php");
}
else
echo mysqli_error($con);
}
これの出力は次のとおりです。
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE test1(id int NOT NULL AUTO_INCREMENT, Title varchar(20) NOT NULL, D' at line 1
面白いことに、正確なコード (変数を除く - $ 記号を削除しただけ) は phpMyAdmin で完全に実行されました。
また、php に実際に問題がないことを証明するために、(CREATE クエリではなく) INSERT クエリのみの場合、クエリはエラーなしで実行されました。