2016-06-17 8 views
-1

私はPHPとSQLの初心者です。私は、次のコードを使用してSQLテーブル内の行を削除しようとしていますが、動作しません。助けてください。PHPを使用してSQLレコードを削除する

<?php 
/* 
DELETE.PHP 
Deletes a specific entry from the 'db' table 
*/ 

// connect to the database 
include('connect-db.php'); 

// check if the 'id' variable is set in URL, and check that it is valid 

// get id value 
$id = $_GET['id']; 

// delete the entry 
$result = mysql_query("DELETE FROM db WHERE 'Report No.'= '$id'") 
or die(mysql_error()); 

// redirect back to the view page 
header("Location: view.php"); 

// if id isn't set, or isn't valid, redirect back to view page 
{ 
header("Location: view.php"); 
} 

?> 
+0

dbはあなたのテーブル名ですか?レポート番号これは何ですか、ここであなたのテーブルのフィールド名を与える必要があります。 –

+0

代わりに引用符形式の列名を折り返す – Saty

+0

削除クエリをエコーし​​、phpmyadmin SQLタブで実行します。それは実行されていますか? –

答えて

0

テーブルのフィールド名「レポート番号」の前後にバッククォート( `)を適用します。

$result = mysql_query("DELETE FROM db WHERE `Report No.`= '$id'"); 

はあなたのために右入力することを確認します(テーブルのフィールド名を定義するための標準ではない方法)

は、名前テーブルの単一引用符を削除することによって、あなたのクエリを修正し、この

$result = mysql_query("DELETE FROM db WHERE `Report No.`= '$id'"); 
+0

ありがとうございます。今すぐご利用ください! –

-1

をお試しくださいレポート番号列名。実際には、というレポート番号の名前は使用しないでください。

+0

一重引用符を削除すると、空白が受け入れられないため、エラーが発生します。しかし、一重引用符をバッククォートに置き換えると、助けになりました。提案ありがとう。 –

+0

あなたはどのデータベースを使用していますか?あなたのテーブル名にスペースが含まれているからです。だから、あなたは 'No sign for Report No 'を追加しなければなりません。 –

関連する問題