好吧,问题是…我是一个新手,我试图了解正在发生的事情。我通过一个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/