PHP删除SQL,但仍显示
我正在使用php显示用户名数据库中的内容。 当我想删除用户名时,它会工作并将其从数据库中删除,但它仍然显示在我的php页面中 下面是我正在使用的删除命令:PHP删除SQL,但仍显示,php,sql,sql-delete,Php,Sql,Sql Delete,我正在使用php显示用户名数据库中的内容。 当我想删除用户名时,它会工作并将其从数据库中删除,但它仍然显示在我的php页面中 下面是我正在使用的删除命令: <table class="table"> <tr><th>#</th><th>Date</th><th>ID</th><th>Actions</th></tr><?php
<table class="table">
<tr><th>#</th><th>Date</th><th>ID</th><th>Actions</th></tr><?php
if ($_GET['a'] == 'delete' && $_GET['i']) {
$UserId = $_GET['i'];
$res=mysql_query("SELECT FROM `users` WHERE `UserId`=$UserId");
$TraderId=mysql_result($res,0,"TraderId");
mysql_query("DELETE FROM `users` WHERE `UserId`=$UserId");
mysql_query("DELETE FROM `traders` WHERE `TraderId`=$TraderId");
echo '<br><br><div class="alert alert-warning"><strong>Bye bye!</strong> Result has been deleted.</div>';
}
if($_GET['s']=="true")
{
echo '<br><br><div class="alert alert-success"><strong>Success!</strong> The user has been saved.</div>';
}
$res = mysql_query("SELECT * FROM `users`");
for ($i = 0; $i < mysql_num_rows($res); $i++) {
$Username = mysql_result($res, $i, "Username");
$UserId = mysql_result($res, $i, "UserId");
$IsAdmin = (string) (bool) mysql_result($res, $i, "IsAdmin");
echo "<tr><td>$UserId</td><td>$Username</td><td>$IsAdmin</td><td>
<a href=\"users.php?a=delete&i=$UserId\" class=\"btn btn-danger\">Delete</a>
<a href=\"user.php?i=$UserId\" class=\"btn btn-primary\">Edit</a></td></tr>";
}
?>
</table>
当我看到结果已从我的sql数据库中删除,而不是从输出页面中删除时,delete函数再次起作用
$res=mysql_query("SELECT FROM `users` WHERE `UserId`=$UserId");
选择什么
猜测delete用户的工作方式是从$\u GET获取id,而交易员实际上从未从mysql查询中获取任何数据
编辑-更长的解释
delete users的工作方式与您在delete查询中使用的userid相同,无需选择:
$UserId = $_GET['i'];
“删除交易者”无法工作,因为您没有从用户id中选择任何内容来获取交易者id以用于删除查询
$res=mysql_query("SELECT FROM `users` WHERE `UserId`=$UserId");
$TraderId=mysql_result($res,0,"TraderId");
ie“从用户中选择”-选择什么?最有可能是缓存问题,或者记录没有被删除,或者,您删除了错误的记录。我收回这一点,它不会从traders表中删除。当涉及到这样的问题时,我喜欢直接返回SQL。执行选择(命令行或PHPMyAdmin,或任何您的首选项),然后查看是否可以手动提取数据记录。从代码中复制并粘贴sql以确保安全。我有一个名为users的表,删除功能在该表上运行良好,但在traders表上不起作用。当用户创建一个新帐户时,它会自动在用户和交易中创建记录。我想这是我错的地方,因为我不知道你在说什么。尝试将这个“$res=mysql\u查询(“从
users
whereUserId
=$UserId”)更改为这个“$res=mysql\u查询(”从users
中选择TraderId
,其中UserId
=$UserId”);“哇。谢天谢地。我不知道如何感谢你,詹姆斯,这个问题已经解决了。将来遇到这种情况时,请尝试回显变量。你的“$TraderId”不是你所期望的。此外,在调试时使用mysql错误报告。这可能会返回一个错误,因为没有select_expr
$res=mysql_query("SELECT FROM `users` WHERE `UserId`=$UserId");
$TraderId=mysql_result($res,0,"TraderId");