Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法执行删除查询_Php_Sql - Fatal编程技术网

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)之前尝试此操作,您将能够看到从上一次查询中提取的记录