Php 无法执行删除查询
我有两个表:Php 无法执行删除查询,php,sql,Php,Sql,我有两个表:详细信息和产品 两个表都有一个字段用户id。它是表顺序中的主键,并且 在Product表中,我创建了一个外键。 最初,这些表有两条记录,一条是user\u id=11,另一条是user\u id=12 我执行了以下脚本 // making the database connection $db2=mysql_connect("localhost","root",""); mysql_select_db("my_requests",$db2); $query=mysql_query("
详细信息
和产品
两个表都有一个字段用户id
。它是表顺序中的主键,并且
在Product表中,我创建了一个外键。
最初,这些表有两条记录,一条是user\u id=11
,另一条是user\u 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_受影响的_行())
它没有显示任何内容尝试使用
mysql\u impacted\u rows()
这样可以确保如果行被删除,即使没有行受到影响,删除查询也会成功
mysql_affected_rows() to check affected id
我认为您的数据库在第二次运行时没有显示任何内容使用此项检查受影响的行数:echo(“已删除的记录:%d\n”,mysql\u受影响的行());另外,这应该是$id=$row['product.user_id']??建议现在对mysql查询使用PDO。它更安全。代码中没有错误。您确定表的内容吗?请检查数据库中的记录。。。如果它被删除,则下次将不会被删除。确定数据库内容和结构吗?再次检查数据库仍有用户\u id=11的记录请在循环var\u dump($query)之前尝试此操作,您将能够看到从上一次查询中提取的记录