Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP删除SQL,但仍显示_Php_Sql_Sql Delete - Fatal编程技术网

PHP删除SQL,但仍显示

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

我正在使用php显示用户名数据库中的内容。 当我想删除用户名时,它会工作并将其从数据库中删除,但它仍然显示在我的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
where
UserId
=$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");