Mysqli查询不插入第一个值[duplicate]

时间:2022-04-11 15:26:34

This question already has an answer here:

这个问题已经有了答案:

I spent hours trying to figure out my problem but no luck :/ I am running this query:

我花了几个小时试图找出我的问题,但没有运气:/我正在运行这个查询:

if($_POST) {
    $ask_name = mysqli_real_escape_string($connect, $_POST['ask_name']);
    $ask_email = mysqli_real_escape_string($connect, $_POST['ask_email']);
    $ask_text = mysqli_real_escape_string($connect, $_POST['ask_text']);
    $ask_category = mysqli_real_escape_string($connect, $_GET['categ']);
    $ask_time = date("d-F-Y");

    if($ask_name = "" || $ask_email == "" || $ask_text == "" || $ask_category == "") {
        $msg = '<span class="fa fa-exclamation-triangle fa-lg"></span> Fill Out All Inputs Please';
    }

    else {  
        $insert_post = mysqli_query($connect, "INSERT INTO forum_posts (name, email, text, category, time) VALUES ('$ask_name', '$ask_email', '$ask_text', '$ask_category', '$ask_time')");
        header('Location: forum.php?categ=' .$ask_category);
        exit(); 
    }
}

This is the form in my php file

这是我的php文件中的表单

<!--Insert Post-->
   <form id="ask-question" method="post" name="ask_question" action="">
    <label for="ask-name">Your Name</label><br>
    <input type="text" name="ask_name" id="ask-name"><br>
    <label for="ask-email">Your E-Mail (Won't be displayed)</label><br>
    <input type="email" name="ask_email" id="ask-email"><br>
    <label for="ask-text">Your Question</label><br>
    <textarea name="ask_text" id="ask-text"></textarea><br>
    <input type="submit" name="post_submit" value="Ask Now" id="post-submit">
    <?php if(isset($msg)) { echo('<p>' .$msg. '</p>'); } ?>
   </form>

The problem is that the query does not insert the "name" value. All other values are successfully inserted into my mysql database, but the "name" value.

问题是查询没有插入“name”值。所有其他值都成功插入到我的mysql数据库中,但是“name”值。

Any ideas please? Thank you very much!

有什么想法吗?非常感谢!

2 个解决方案

#1


0  

$ask_name = "" means you are assigning blank value to that variable.

$ask_name = ""表示您正在为该变量分配空白值。

Change

改变

if($ask_name = "" || $ask_email == "" || $ask_text == "" || $ask_category == "")

to

if($ask_name == "" || $ask_email == "" || $ask_text == "" || $ask_category == "")

#2


4  

You have used single = sign instead of double in your if condition.

在你的if条件下,你使用的是单=符号而不是double。

Change

改变

if($ask_name = ""...

如果($ ask_name = " "……

to

if($ask_name == ""...
              ^

otherwise you are assigning empty string to that variable

否则,您将为该变量分配空字符串。

#1


0  

$ask_name = "" means you are assigning blank value to that variable.

$ask_name = ""表示您正在为该变量分配空白值。

Change

改变

if($ask_name = "" || $ask_email == "" || $ask_text == "" || $ask_category == "")

to

if($ask_name == "" || $ask_email == "" || $ask_text == "" || $ask_category == "")

#2


4  

You have used single = sign instead of double in your if condition.

在你的if条件下,你使用的是单=符号而不是double。

Change

改变

if($ask_name = ""...

如果($ ask_name = " "……

to

if($ask_name == ""...
              ^

otherwise you are assigning empty string to that variable

否则,您将为该变量分配空字符串。