SQL - Delete语句不工作


SQL - Delete Statement Not Working

有人可以看看我的删除语句,让我知道为什么这可能不工作?正如你所看到的,Add语句也在这里…这是完美的…我在DELETE中交换了一条语句,它不起作用。

Add语句Works Perfect:

<?php
include 'include/dbconnect.php';
$usr_id=$_POST['id'];
$usr_name=$_POST['username'];
$item_id=$_POST['itemid'];
$sql = "SELECT * FROM useritems where userid='$usr_id' And itemid='$item_id'";
$result = mysqli_query($conn, $sql);
//echo 'incoming data '.$result;
if (mysqli_num_rows($result) <1) {

$sql = "insert into useritems (userid,username,itemid) values ('$usr_id','$usr_name','$item_id')";
mysqli_query($conn, $sql);
echo 'success';
}
else
echo 'fail';

Delete Statement does not:

?>
<?php
include 'include/dbconnect.php';
$usr_id=$_POST['id'];
$usr_name=$_POST['username'];
$item_id=$_POST['itemid'];
$sql = "SELECT * FROM useritems where userid='$usr_id' And itemid='$item_id'";
$result = mysqli_query($conn, $sql);
//echo 'incoming data '.$result;
if (mysqli_num_rows($result) <1) {
    $sql = "DELETE FROM useritems WHERE userid='$usr_id' AND itemid='$item_id'";
    mysqli_query($conn, $sql);
    echo 'success';
}
else
echo 'fail';
?>

只有在发现行数小于1时才会进入DELETE语句。这意味着:没有ROWS:

if (mysqli_num_rows($result) <1) {

改为

if (mysqli_num_rows($result) >0) {