这是我在php文件中的一个函数
function deleteLocation() {
global $con;
$val = $_POST['id'];
$escaped = mysqli_real_escape_string($con,$val);
$sql = "DELETE FROM settings WHERE value = '".$escaped."'";
if(!mysqli_query($con,$sql)){
die("Query failed:" . mysqli_error($con));
} else {
die("DELETE FROM settings WHERE value = '".$escaped."' / num rows affected: " . mysqli_affected_rows($con));
}
}
以下是页面上返回的文字
DELETE FROM settings WHERE value = 'asdasd ' / num rows affected: 0
如果我采取第一部分,并在我的phpmyadmin页面上运行,
DELETE FROM settings WHERE value = 'asdasd '
它将正确删除该行,但正如您在输出中看到的那样,当在页面上运行脚本时会影响0行。
如果有人可以帮忙解决这个问题,我将非常感激。
PS:连接字符串和用户权限确实设置正确,因为此文件中的每个其他功能都能正常工作
编辑:知道了,字符串末尾的空格是从我的javascript发送的换行符。
答案 0 :(得分:0)
我尝试在我的机器上重新创建您的问题,并且当我从表中删除该项目时(或者当它首先不在那里时)我唯一一次得到与您相同的消息
答案 1 :(得分:0)
这是一个非常独特的情况,所以我不知道这对其他人有多大帮助,但是,
我有一个字符串数组,最后都有\ n,所以我必须这样做
str[value] = str[value].trim();
数组中的foreach值。事实证明,这不是一个PHP问题,而是js