有人可以查看我的删除声明,让我知道为什么这可能不起作用?正如你所看到的那样,Add Statement也在这里...这完全有效...我在DELETE中交出了一个语句,它不起作用。
添加声明完美无缺:
<?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';
删除声明不会:
?>
<?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';
?>
答案 0 :(得分:0)
如果您发现num行少于1,则只进入DELETE语句。这意味着:no ROWS:
if (mysqli_num_rows($result) <1) {
将其更改为
if (mysqli_num_rows($result) >0) {
答案 1 :(得分:0)
您的DELETE
语句没有问题,但如果它没有删除任何记录,那么WHERE
条件WHERE userid='$usr_id' AND itemid='$item_id'
与任何记录都不匹配。要验证它,请运行具有相同条件的SELECT
SELECT 1 FROM useritems WHERE userid='$usr_id' AND itemid='$item_id'