从表中删除记录的问题

问题描述:

构建新手级用户管理系统。以下代码用于从我的表中删除记录。从表中删除记录的问题

当您单击用户管理页面上的删除链接时,它会使用该ID通过删除文件(此代码)转发。

有人能指出为什么它不起作用,为什么$ result返回false?去容易对我,我是一个完整的新手:)

<?php 

$host = 'localhost'; 
$user = 'tim_williams'; 
$pass = 'baroness'; 
$db = 'php_db05'; 

$link = mysqli_connect($host, $user, $pass, $db); 


if(!$link) { 
    die("Database connection failed: " . mysqli_connect_error()); 
} 

$id = $_GET['id']; 


$sql = "DELETE * 
       FROM registeredusers 
       WHERE UserID = $id"; 

$delete = mysqli_query($link, $sql); 

//var_dump($delete); 



if($delete) { 
    header('Location: mysql-project-users-manage.php'); 
    exit; 
} 

?>

+0

你的代码可以SQL调入。至少,使用'$ id =(int)$ _ GET ['id'];'来防止一些。另外,尝试直接在数据库中运行DELETE语句并检查是否有任何错误消息。 –

+0

DELETE上的RTM http://dev.mysql.com/doc/refman/5.7/en/delete.html你的是无效的,检查错误会引发你一些问题。 –

你有一个SQL语法错误,因为你如果查询成功从来没有检查,你永远不会告诉。在最低限度,你应该有类似

$result = mysqli_query(...) or die(mysqli_error($link)); 

具体做法是:

$sql = "DELETE * 
       FROM registeredusers 

不指定在delete查询字段。您正在删除整行,因此指定字段(包括所有字段的*)是多余/毫无意义的。语法很简单:

DELETE FROM yourtable 

而且最重要的是,你是容易sql injection attacks,所以喜欢有你的服务器pwn3d。