好吧,问题是…我是一个新手,我试图了解正在发生的事情。我通过一个HTML表单发送这个数据(姓名,电子邮件)在一个数据库中使用post。我理解它背后的逻辑,但基本上发生的是,每次我输入一个姓名,任何一个姓名,它都会回显else语句:“已经有一个用户名”。它发送回数据库中的名字,如果没有,则不发送任何内容。所以这里是块:

 $query= "SELECT* from users where username='".$_POST['name']."'";
        $result = mysql_query($query);
        if (!$result){


        $query = "INSERT into users (username, email, password) values
        ('".$_POST["name"]."', '".$_POST["email"]."',
        '".$passwords[0]."')";
        $result = mysql_query($query);

        if ($result){
            echo "It's entered!";
        } else {
            echo "There's been a problem: ".mysql_error();
        }
     } else {

         echo "There is already a user with that name: <br />";
        $sqlAll = "select * from users";
         $resultsAll = mysql_query($sqlAll);
         $row = mysql_fetch_array($resultsAll);
           while ($row) {

              echo $row["username"]." -- ".$row["email"]."<br />";

           $row = mysql_fetch_array($result);

最佳答案

您可能需要检查mysql_num_rows()而不是检查!$result,我认为如果查询成功,您将得到一个资源,即使它包含零行。
您也可以阅读:http://php.net/manual/en/security.database.sql-injection.php

关于php - 数据库中的PHP数据检索问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5532244/

10-10 08:41
查看更多