为啥即使数据库中不存在 id 和/或用户名我也会成功

Posted

技术标签:

【中文标题】为啥即使数据库中不存在 id 和/或用户名我也会成功【英文标题】:why i m giving success even the id and/or username does not exist in database为什么即使数据库中不存在 id 和/或用户名我也会成功 【发布时间】:2018-07-19 09:32:43 【问题描述】:

我正在尝试编写删除页面,但是当我输入 id 和用户名并单击删除时,即使数据库中不存在 id 和/或用户名并且如果我输入正确的 id 和用户名从数据库中删除 带有消息“成功”如何解决这个问题?谢谢你

<?php require ('server.php');?>

<?php

$uniqueid=$_GET['uniqueid'];
$username=$_GET['username'];


if(isset($_GET['uniqueid'], $_GET['username']))

$sql= "DELETE FROM users WHERE uniqueid='$uniqueid' AND username='$username'";   

    if($sql)
        echo "succces";

 

else 

    echo 'ERROR';


mysqli_close($db);
?>

【问题讨论】:

你为什么把代码放在注释里?只需编辑它 你没有执行sql,这里没有mysqli查询语句 那该怎么办,你能帮我把命令mysqli添加到我的删除页面 mysqli_query 应该在这里提供帮助。但前提是你是mysqli_connected。 “请问该怎么办” - 要做的事:阅读一些合适的初学者教程/书籍,先学习一些基础知识。 SO不是来家教的地方,一遍又一遍地解释基础知识不是我们首先应该在这里做的。 【参考方案1】:

让我们分解你的代码:

您正在使用 mysqli,您可能需要查看使用 PDO 它有一个更大的数据库列表交互,而只有 mysqli 有一个。 您没有运行 sql 语句的语句,目前 $sql 只是纯文本

代码的修复方法:

<?php
$uniqueid=$_GET['uniqueid'];
$username=$_GET['username'];

if(isset($_GET['uniqueid'], $_GET['username']))

    $sql= $BD->("DELETE FROM users WHERE uniqueid='$uniqueid' AND username='$username'"); 
    /*$BD is you connection to the database*/

    if($sql) echo "succces";
    else 
    
        echo 'ERROR';
    

else

    echo 'no id or username';


$sql->closeCursor();?>

【讨论】:

非常感谢你!但我收到此错误请解析错误:语法错误,意外'(',期望标识符(T_STRING)或变量(T_VARIABLE)或''或'$'在C:\ xampp \ htdocs \registration \ delete.php在线10 我可以只使用sqli吗,即使用户不存在,我仍然可以成功我感谢您的帮助,希望您仍然可以帮助我,非常感谢您 请有任何建议

以上是关于为啥即使数据库中不存在 id 和/或用户名我也会成功的主要内容,如果未能解决你的问题,请参考以下文章

为啥即使我有一个 catch() 函数,我也会收到 UnhandledPromiseRejectionWarning?

AngularJS:为啥即使显示正确,我也会得到 NaN?

为啥即使实现了 Iterable,我也会收到 foreach 编译器错误?

为啥即使我修改了 lock 变量,我也会得到一个无限的 while 循环? [复制]

为啥即使我使用 sparse_categorical_crossentrpy,我也会收到“收到超出 [0, 1) 有效范围的标签值 6”?

为啥即使在包含 math.h 并使用 -lm 链接到数学库之后我也会收到“未定义的符号:.sqrtf”