Php 从MySQL数据库中删除记录
我对MySQL没有太多的经验,所以很有可能我遗漏了一些非常明显的东西 我只是尝试从表中删除一条记录,其中from_=neighbor和to_=id或from_=id和to_=neighbor。问题是记录永远不会被删除 基本的数据库设置用户名、密码等都是正确的,实际上是在一个包含文件中,我已经使用了很多次。 表的名称是正确的,我进行了三次检查。 数据库中列的名称是正确的,我进行了三次检查。 根据javascript警报测试,我知道脚本正在接收id和邻居,并且我知道收到的特定整数与我三次检查的数据库中的记录匹配。 这是我正在使用的代码:Php 从MySQL数据库中删除记录,php,mysql,Php,Mysql,我对MySQL没有太多的经验,所以很有可能我遗漏了一些非常明显的东西 我只是尝试从表中删除一条记录,其中from_=neighbor和to_=id或from_=id和to_=neighbor。问题是记录永远不会被删除 基本的数据库设置用户名、密码等都是正确的,实际上是在一个包含文件中,我已经使用了很多次。 表的名称是正确的,我进行了三次检查。 数据库中列的名称是正确的,我进行了三次检查。 根据javascript警报测试,我知道脚本正在接收id和邻居,并且我知道收到的特定整数与我三次检查的数据库
$dbhost = "...";
$dbuser = "...";
$dbpass = "...";
$dbname = "...";
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Error connecting to mysql");
mysql_select_db($dbname);
$id = mysql_real_escape_string($_GET['id']);
$neighbor = mysql_real_escape_string($_GET['neighbor']);
$result = mysql_query("DELETE FROM jointable WHERE to_='". $id ."' AND from_='".$neighbor."'") or die(mysql_error());
$result = mysql_query("DELETE FROM jointable WHERE from_='". $neighbor ."' AND to_='".$id."'") or die(mysql_error());
mysql_close($conn);
echo "<script type='text/javascript'>
alert('$id');
alert('$neighbor');
<!--
window.location = 'index.php?node=$id';
//-->
</script>";
将查询构建到单独的字符串中,然后将其转储以查看实际情况:
$sql = <<<EOL
DELETE FROM jointable
WHERE (to_ = '$id') AND (from_ = '$neighbor')
EOL;
$result = mysql_query($sql) or die(mysql_error());
die("<pre>$sql</pre> $result");
看看有没有回报。由于MySQL没有在查询中抛出错误,那么很可能是您的WHERE子句导致它找不到所需的记录。Andreas,该记录已被nod删除。我将编辑这个问题。你得到了什么结果或错误?@John R:我修复了它,显然当你在列表后面直接添加代码时有问题。@John R:实际上,显然这不是一个错误:你在日志文件中找不到任何错误吗?您使用警报进行调试,因此可能根本不使用日志文件。。。
SELECT *
FROM jointable WHERE (to_ = '$id') AND (from_ = '$neighbor')