这是链接样式
<a href='del-user.php?id={$row['username']}'>Delete</a>
{$ row ['username']}将从Admin-CMS用户表中获取用户名字段
现在......点击它时,您将看到以下内容:
del-user.php?id=billy
现在我的尝试是什么
我想阅读链接并删除用户名为billy的行
这是我的del-user.php文件
<?php
if($_GET['id'] != ""){
$userID = $_GET['id'];
$sql = "DELETE FROM users WHERE username='".$userID."'";
$query = mysql_query($sql);
}
?>
我做错了什么? 顺便说一句,我的数据库设置是
TABLE is called : users
COLUMN is called : username
答案 0 :(得分:0)
首先,ESCAPE YOUR DATA。或使用准备好的陈述。您的代码易受SQL注入攻击。
其次,不要使用mysql
库。它们是折旧的。您需要改为使用mysqli
。
第三,你的连接指针在哪里?您需要在某处创建一个并将其传递给查询函数。
$con = mysqli_connect(...);
$result = mysqli_query($con, $sql);
答案 1 :(得分:0)
我刚刚在服务器上运行了测试,虽然我必须编辑才能在我的环境中运行,并且运行正常。
我使用的整个文件是:
<?php
include_once('pre_load.php');
login_required();
$auth = Authentication::instance();
$db = CDatabase::instance();
if(array_key_exists('id', $_GET) && !in_array($_GET['id'], array(0, ""))
{
$userID = (is_string($_GET['id']) && ctype_digit($_GET['id'])) ? $_GET['id'] : FALSE ;
if ($userID)
{
$sql = "DELETE FROM `bans` WHERE `id` ='".$userID."'";
$query = $db->execute($sql);
echo '<p>Row Deleted</p>';
}
else
{
echo '<p>Invalid ID</p>';
}
}
?>
这一切都正确运行,这引出了我这个问题:
那是你的整个档案吗?如果是这样,您如何连接到数据库以启动删除?
代码本身看起来是正确的,我看到没有错误,但是您将其作为文件发布的事实,询问是否包含数据库连接。
在该文件中包含数据库连接,如果不存在,则问题将结束。
如果数据库连接实际上是在文件中,请在此处发布,我将对其他问题进行解决。