0

私はPHPとmySQLにかなり慣れていないので、なぜこれが機能しないのか本当に混乱しています:

$row = mysql_fetch_array($result);

$response["id"] = $row["id"];
mysql_query(" DELETE FROM balloons WHERE ID='$response['id']'");
$response["name"] = $row["name"];
$response["message"] = $row["message"];
$response["city"] = $row["city"];
$response["time"] = $row["date"];

$response["success"] = 1;

基本的にすぐに行を削除したい。私はさまざまなことを試しましたが、構文がどこか間違っているに違いないと思います。言ってみました

$todelete = $response["id"];
mysql_query(" DELETE FROM balloons WHERE ID='$todelete'");

でもダメ。奇妙なのは、私が言うなら

 mysql_query(" DELETE FROM balloons WHERE ID=4");

IDが4の行を削除します。

これは本当にばかげた間違いだと確信しています。誰かが私を教育できますか?

4

7 に答える 7

1

これは、文字列の書式設定の問題のようです。以下にいくつかのオプションを示します。

mysql_query("DELETE FROM balloons WHERE ID = '{$row['id']}'");

mysql_query("DELETE FROM balloons WHERE ID = '" . $row['id'] . "'");

// Or try this

$todelete = $row["id"];

mysql_query("DELETE FROM balloons WHERE ID = '$todelete'");

mysql_query("DELETE FROM balloons WHERE ID = '" . $todelete . "'");

コードが SQL インジェクションの影響を受けないようにしてください。

于 2013-06-26T05:47:06.797 に答える
0

$row['id'] と $result の正しい値を取得していますか?

$result と $row['id'] をダンプしようとしましたか?

試す

 var_dump($result);

必要な値を含む正しい配列が得られる場合。できるよ:

 $row = mysql_fetch_array($result);

 $todelete = $row["id"];
 mysql_query(" DELETE FROM balloons WHERE ID='$todelete'");

または、これを行う必要があるかもしれません:

 while($row = mysql_fetch_array()){
           $todelete = $row["id"];
           mysql_query(" DELETE FROM balloons WHERE ID='$todelete'");


  }

DEBUG の各ステップで、$result、$row、$row['id'] などの var_dump() を実行してみてください。

于 2013-06-26T06:13:38.220 に答える
0

あなたがする必要があるのはこれだけです-

mysql_query(" DELETE FROM balloons WHERE ID=' " .$response['id']. " ' ");

むしろこれを使用するだけです

mysql_query(" DELETE FROM balloons WHERE ID=' " .$row['id']. " ' ");

また、row['id'] に正しい結果が得られているかどうかを確認していただければ幸いです。

于 2013-06-26T06:18:33.177 に答える
0

最初に変数に値を格納します

 $id=$response['id'];
 mysql_query("DELETE FROM balloons WHERE ID='$id'");

「id」が整数の場合、引用符で囲む必要はありません。あなたはこのように書くことができます

 mysql_query("DELETE FROM balloons WHERE ID=$id");
于 2013-06-26T05:50:39.873 に答える
0

これを試してください:

$todelete = $row["id"];

$query = "DELETE FROM balloons WHERE ID='$todelete'";

于 2013-06-26T05:45:54.787 に答える