0

私は2つのテーブルを持っています:detailsそしてProduct

両方のテーブルにフィールドがありますuser_id。これはテーブル順序の主キーであり、テーブル Product で外部キーを作成しました。次のクエリを実行します。最初、テーブルには 2 つのレコードがuser_id=11ありuser_id=12 、次のスクリプトを実行しました。

// making the database connection
$db2=mysql_connect("localhost","root","");
mysql_select_db("my_requests",$db2);
$query=mysql_query("SELECT details.*,product.* FROM details INNER JOIN product ON details.user_id = product.user_id"); 


while($row=mysql_fetch_array($query)){
$id=$row['user_id'];
echo "$id";

$query1=mysql_query("DELETE FROM details WHERE details.user_id=$id");    
$query2=mysql_query("DELETE FROM product WHERE product.user_id=$id");
}

実行すると、user_id=12 のレコードが削除されました。もう一度実行しようとしても、何もエコーされず、残りのレコードも削除されませんでした。

修正してください。下手な英語で申し訳ありません。

ループの最後にこれを印刷しました:

printf("削除されたレコード: %d\n", mysql_affected_rows());

何も表示されませんでした

4

2 に答える 2

1

この方法を使用する mysql_affected_rows()と、行が削除されているかどうかを確認できます。行が影響を受けなくても、DELETEクエリは成功します

于 2012-05-28T06:29:52.347 に答える
0
mysql_affected_rows() to check affected id

そして私はあなたのデータベースには2回目の実行で表示するものが何もないと思います

于 2012-05-28T06:38:50.393 に答える