私は現在、ルームと呼ばれるテーブルを持つデータベースを持っています。 roomIDとroomTypeという2つの属性を持っています。私はこれにすべてMySqlを使ってデータを挿入しました。私はPHPとMYSQLを使って、ページ上のデータベースに現在何が入っているのかを表示しています。次に、部屋IDとルームタイプのテキストフィールドがあるdelete.phpページが表示されます。私は 'rooms'テーブルから好きなものを削除したいと思いますが、私は1つのテーブルしか持っていなくても、MULTI DELETEエラーでUnknownテーブル 'roomid'を取得し続けます。以下は'MULTI DELETEで#'不明なテーブル 'エラーを取得する
私の現在のPHP
<?php
include ('connect.php');
if(isset($_POST['roomID'])){
$roomID = $_POST['roomID'];
$roomType = $_POST['roomType'];
$sql = "DELETE FROM rooms WHERE roomID='"$roomID"' AND roomType='"$roomType"' ";
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
?>
は、任意のヘルプ
あなたのコードはに対して脆弱である[** SQLインジェクション攻撃**](https://en.wikipedia.org/wiki/SQL_injection)。 [** mysqli **](https://secure.php.net/manual/en/mysqli.prepare.php)または[** PDO **](https://secure.php.net/)を使用してください。 manual/en/pdo.prepared-statements.php)は、[** this post **](https://stackoverflow.com/questions/60174/how-can-i-prevent-sql - インジェクション - イン - php)。 –
準備したステートメントを使用しただけでは、変数を正しく連結することを心配する必要はありませんでした。WHERE roomID = '"$ roomID"' AND roomType = '"$ roomType"' –
@AlexHowanskyはい、しらべる。 – muthambo