MySQLが管理するデータベースに接続しているWebサイトで作業しています。これらはpagamentiとprenotazioneテーブルの構造体である:DELETEクエリによるSQL構文エラー
Pagamenti
Prenotazione
I n私のPHPコードIDPrenotazione
フィールドを使用して、両方のテーブルからレコードを削除したいとします。
のように2つの異なるクエリを使用できますが、クエリを1つしか使用しないともっとうまくいくでしょう。私は、SQL言語のクエリで;
で区切られていることを学んだので、私は
$query = "DELETE FROM pagamenti WHERE IDPrenotazione='$ID';
DELETE FROM prenotazione WHERE IDPrenotazione='$ID'";
このコードを試みたが、それが実行
で、これは完全なコードであるYou have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'DELETE FROM prenotazione WHERE IDPrenotazione='2017-0006'' at line 1
このエラーを返します。
$query = "DELETE FROM pagamenti WHERE IDPrenotazione='$ID';
DELETE FROM prenotazione WHERE IDPrenotazione='$ID'";
if (mysqli_query($connessione, $query))
{
//code
}
else
{
echo mysqli_error($connessione);
}
このコードをphpMyAdminで実行すると、エラーなしで動作しますので、クエリは正しいはずです。
なぜPHPで動作しないのですか?どうすればそれを動作させることができますか?
を試すには、PHPコード – JYoThI
のクエリ実行部を示し、動作させることができますが、個人的に私は2文に固執でしょう。それはより明確で、他のエラーも起こりにくい。 –
あなたはこれを次のように実行できません:$ query = "DELETE FROM pagamenti、prenotazione WHERE IDPrenotazione = '$ ID'"; ? – David