Php 如何在不与sql冲突的情况下捕获空文本框?

Php 如何在不与sql冲突的情况下捕获空文本框?,php,Php,我有一个SQL查询来获取我的id并向数据库中插入一个新id。如果用户在提交之前没有在文本框中输入任何内容,我应该如何提醒用户?我应该补充什么 这是我的密码: if ($_GET['username']) { $result = mysql_query("SELECT * FROM users WHERE user_name = '$_GET[username]'"); if ($user = mysql_fetch_assoc($result)) { $_

我有一个SQL查询来获取我的id并向数据库中插入一个新id。如果用户在提交之前没有在文本框中输入任何内容,我应该如何提醒用户?我应该补充什么

这是我的密码:

if ($_GET['username'])
{
    $result = mysql_query("SELECT * FROM users WHERE user_name = '$_GET[username]'");
    if ($user = mysql_fetch_assoc($result))
    {
        $_SESSION['user_id'] = $user['user_id'];
        $_SESSION['user_name'] = $user['user_name'];
    }
    else
    {
        mysql_query("INSERT INTO  `personality_test`.`users` (`user_name`)VALUES ('$_GET[username]');");
        $_SESSION['user_id'] = mysql_insert_id();
        $_SESSION['user_name'] = $_GET['username'];
    }
}

if ($_SESSION['user_id'])
{
    $result = mysql_query("SELECT * FROM users WHERE user_id = '$_SESSION[user_id]'");
    $row = mysql_fetch_assoc($result);
    $user_result = json_decode($row['user_result'], true);

    if (!empty($user_result))
    {
        header('Location:result.php');
    }
        else
        {
            header('Location:index.php');
        }
}
首先:

 if ($user = mysql_fetch_assoc($result))
需要

 if ($user == mysql_fetch_assoc($result))

在让他们提交之前,我会使用Javascript确保文本框不为空。

首先,您要了解并修复您的漏洞。然后您应该意识到这与sql无关。如果用户没有正确填写表单,您甚至不应该进入sql阶段<代码>如果(表格填写不正确){show error}。哪个文本框?你不应该使用mysql,因为它已经被弃用了,如果出于某种原因,你必须至少正确地退出。我必须包括是否捕获空文本框和先前要在else语句中执行的post?正如Mark所说,学习如何防止SQL注入。如果您是PHP新手,现在是学习的时候了。我个人喜欢PDO。在看了你的代码之后。。。虽然我上面所说的是相关的(在if语句中比较时,=需要是==),但这并不是这里唯一的问题。。。如果我有更多的时间,我会尽力帮你指出正确的方向。