PHPで書くのは初めてで、 $mysqli->prepare() 関数を使用してステートメントを実行できるようにしていますが、失敗し続け、その理由がわかりません。$mysqli->error 内のエラーは「テーブルが使用されていません」であり、それに関する多くのドキュメントも見つからないようです...誰かが助けてくれれば、それは大歓迎です。以下のコード:
$datasqli=new mysqli(HOST, USERNAME, PASSWORD, DATABASE); // defined elsewhere
if ($datasqli->connect_errno) {
printf("Connect failed: %s\n", $datasqli->connect_error);
exit();
}
if ($usertest = $datasqli->prepare("INSERT INTO eeg (Identifier)
SELECT * FROM (SELECT ? ) AS tmp WHERE NOT EXISTS (
SELECT Identifier FROM eeg WHERE Identifier = ?
) LIMIT 1")) {
// this stuff never gets executed...
} else {
echo $datasqli->error; // "no table used"
}
そのコード ブロックを mysql 環境内で直接実行しようとしましたが、正常に動作します。