使用$\u POST的PHP MySQL插入查询

使用$\u POST的PHP MySQL插入查询,php,mysql,Php,Mysql,变量在起作用;当我在屏幕上回音时。但它没有向db/表中输入任何内容。它没有告诉我任何错误代码,但它失败了。如果您需要任何其他信息,如db_conn,请告诉我。我已经尝试了一些类似问题的答案,但他们没有为我解决。这张表格是在。页面上的第二个表单就是我现在正在使用的表单 我的表格代码: <form action="/cq.php" method="post"> <fieldset> <legend>Username/Name</leg

变量在起作用;当我在屏幕上回音时。但它没有向db/表中输入任何内容。它没有告诉我任何错误代码,但它失败了。如果您需要任何其他信息,如db_conn,请告诉我。我已经尝试了一些类似问题的答案,但他们没有为我解决。这张表格是在。页面上的第二个表单就是我现在正在使用的表单

我的表格代码:

<form action="/cq.php" method="post">
    <fieldset>
        <legend>Username/Name</legend>
        <input
                placeholder="Insert your name"
                type="text" name="user_name" id="user_name"/>
    </fieldset>
    <br>
    <fieldset>
        <legend>Email</legend>
        <input id="email"
                type="email" name="email"
               placeholder="Insert your email address"/>
    </fieldset>
    <br>
    <fieldset>
        <legend>Question</legend>
        <textarea
                placeholder="Insert your question here."
                name="question"
                rows="5"
                cols="100">

        </textarea>
    </fieldset>
    <br>
    <input type="submit" value="Submit" name="submit" id="submit"/>
</form>

用户名/名称

电子邮件
问题:
cq文件

<?php
$ptitle = "Question Submitted";?>
<?php require_once $_SERVER["DOCUMENT_ROOT"] . '/head.php'; ?>
<?php require_once $_SERVER["DOCUMENT_ROOT"] . '/navigation.php'; ?>
<?php
$user_name = $_POST['user_name'];
$email = $_POST['email'];
$question = $_POST['question'];

$query = "INSERT INTO cq (user_name, email, question) VALUES ('$user_name','$email','$question')";
?>
<section class="content">
    <?php

    echo ($user_name);
    echo ($email);
    echo ($question);

    $result= mysqli_query($db_conn, $query);
    if($result){
        echo ('Your question was successfully submitted. You should receive an email
        response in 2-3 days');
    }
    else{
        echo  mysqli_error($db_conn) . '<br> Sorry, your question was not submitted. Please try again.';
    }
    mysqli_close($db_conn);
    ?>
</section>
<?php include ('footer.php');?>


我在我的项目中遇到了类似的问题。 尝试在
cq.php中直接调用连接文件
然后将连接变量设为全局变量

请在此处包含您的连接文件以供审阅

<?php
$ptitle = "Question Submitted";?>
 <?php require_once $_SERVER["DOCUMENT_ROOT"] . '/head.php'; ?>
<?php require_once $_SERVER["DOCUMENT_ROOT"] . '/navigation.php'; ?>
<?php
$user_name = $_POST['user_name'];
$email = $_POST['email'];
$question = $_POST['question'];

$query = "INSERT INTO cq (user_name,email,question) VALUES ('".$user_name."','".$email."','".$question."')";


require_once('your/path/connection_file_name.php');
global $db_conn;
echo '<section class="content">';
$result= mysqli_query($db_conn, $query);
    if($result){
        echo ('Your question was successfully submitted. You should receive an email
        response in 2-3 days');
    }
    else{
        echo  mysqli_error($db_conn) . '<br> Sorry, your question was not submitted. Please try again.';
    }
    mysqli_close($db_conn);
    echo '</section>';
    ?>
   <?php include ('footer.php');?>


您的代码易受SQL注入攻击。请学会使用事先准备好的陈述。所以你只能得到
对不起,你的问题没有提交。请再试一次。
?如果您尝试直接在mysql中运行这个精确的查询(使用数据而不是变量),它是否有效?@chris85是的,我只得到那个语句。@kojow7是的,当我运行INSERT-INTO-cq(用户名、电子邮件、问题)值('user'、'email'、'question')时,它有效。
<?php if($result){
        echo ('Your question was successfully submitted. You should receive an email
        response in 2-3 days');
    }
    else{
        echo 'MySql Error:'.mysqli_error($connect);
    } ?>