无法将我的'delete.php发送到db并标记为已死

时间:2009-11-03 17:30:00

标签: php mysql sql

这是一个id问题还是我缺少什么?我试图让它删除评论...在这个'delete.php'页面上,$ prof是发送删除请求的用户,在我试图删除的页面上,$ auth是发送者评论。

<?php
    require_once($_SERVER['DOCUMENT_ROOT'] . '/includes/system/init.php');
    enforce_auth();

    $prof = new User($_GET['id']);

    $query = "UPDATE `ProfileComments` SET `status` = 'dead' WHERE `id` = '".$prof->id."' LIMIT 1";
    $request = mysql_query($query,$connection);
?>

我应该在查询中替换其他变量而不是$prof->id吗?

3 个答案:

答案 0 :(得分:6)

我看到它的方式,我认为当你使用id来更新数据库时创建一个新对象是不合适的:)

我会这样做:

$id = $_GET['id']; <br>
mysql_query("UPDATE ProfileComments SET status = 'dead' WHERE id = '$id' LIMIT 1") or die(mysql_error());

看看是否应该这样做!

答案 1 :(得分:2)

只需输入你的申请表:

echo $query = "UPDATE ProfileComments SET status = 'dead' WHERE id = '".$prof->id."' LIMIT 1";

这将把查询输出为字符串。如果你能立即看到错误,那很好。如果没有尝试将其粘贴到phpMyAdmin。这应该可以帮助您调试MySQL!

希望它有所帮助!

答案 2 :(得分:0)

这将转义数据并将id转换为整数,在这种情况下它应该是。

mysql_query("UPDATE ProfileComments SET status = 'dead' WHERE id = '". mysql_real_escape_string((int)$prof->id) . "' LIMIT 1");