大家好我在PHP代码中有这一行
`$insert = "DELETE FROM allocation_table WHERE job = '$jobnumber' " ;
Mysql_query ($insert) ;`
问题是它会从我表中的一行中删除所有值,而不是条目本身。正如你在图片中看到的那样,如果删除job = 315,它不会删除该行,但会删除所有条目
然而,在它之前的代码(不同的表)。它工作正常,整行被删除
$insert = "DELETE FROM event WHERE jobnumber = '$jobnumber' " ;
mysql_query ($insert) ;enter code here
有人可以提供一些建议吗? alt text http://img34.imageshack.us/img34/4431/tablenj.jpg
答案 0 :(得分:0)
您的代码中是否有任何错误处理例程?
您可能还想添加一些调试输出(甚至更好地使用像xdebug这样的调试器)
(过度简化)示例:
$insert = "DELETE FROM allocation_table WHERE job = '$jobnumber' " ;
echo '<pre>Debug: query=', htmlspecialchars($insert), '</pre>';
$rc = mysql_query($insert);
if ( !$rc ) {
echo '<pre>mysql_query failed: ', mysql_error(), '</pre>';
}
else {
echo '<pre>Debug: affected rows=', mysql_affected_rows(), '</pre>';
}
$insert = "DELETE FROM event WHERE jobnumber = '$jobnumber' " ;
echo '<pre>Debug: query=', htmlspecialchars($insert), '</pre>';
$rc = mysql_query($insert);
if ( !$rc ) {
echo '<pre>mysql_query failed: ', mysql_error(), '</pre>';
}
else {
echo '<pre>Debug: affected rows=', mysql_affected_rows(), '</pre>';
}
答案 1 :(得分:0)
也许你在MySQL表上有一些奇怪的设置导致查询以不同的方式运行。您是自己创建了表(使用PMA吗?)还是从其他地方导入它?
使用PHPMyAdmin删除时,它运行的查询是什么?
答案 2 :(得分:0)
尝试在PhpMyAdmin中删除,看看会发生什么。至少在那里你可以轻松看到任何错误信息。
您是否定义了外键和/或表约束?