Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP表单到数据库-没有错误,但没有结果_Php_Mysql_Database_Validation - Fatal编程技术网

PHP表单到数据库-没有错误,但没有结果

PHP表单到数据库-没有错误,但没有结果,php,mysql,database,validation,Php,Mysql,Database,Validation,我正在尝试用PHP创建一个应用程序表单。我已经设置了HTML标记,并创建了PHP处理器。不幸的是,没有用。我没有收到任何错误,但数据库也没有更新。如果你能看看我的代码,那就太好了 HTML标记: <form method="post" action="<?php echo base_url();?>index.php/new_post" id="application-form"> <table class="appl

我正在尝试用PHP创建一个应用程序表单。我已经设置了HTML标记,并创建了PHP处理器。不幸的是,没有用。我没有收到任何错误,但数据库也没有更新。如果你能看看我的代码,那就太好了

HTML标记:

<form method="post" action="<?php echo base_url();?>index.php/new_post" id="application-form">
                        <table class="application">
                            <tbody>
                                <tr>
                                    <td class="left">Question 1</td>
                                    <td><input type="text" size="30" name="question1" id="question1"/></td>
                                </tr>
                                <tr>
                                    <td class="left">Question 2</td>
                                    <td><input type="text" size="30" name="question2" id="question2"/></td>
                                </tr>
                                <tr>
                                    <td class="left">Question 3</td>
                                    <td><input type="text" size="30" name="question3" id="question3"/></td>
                                </tr>
                                <tr>
                                    <td class="left">Question 4</td>
                                    <td><input type="text" size="30" name="question4" id="question4"/></td>
                                </tr>
                                <tr>
                                    <td class="left">Question 5</td>
                                    <td><textarea rows="4" cols="30" name="question5" id="question5"></textarea></td>
                                </tr>
                                <tr>
                                    <td class="left">Question 6</td>
                                    <td><textarea rows="4" cols="30" name="question6" id="question7"></textarea></td>
                                </tr>
                                <tr>
                                    <td class="left">Question 7</td>
                                    <td><input type="text" size="30" name="question7" id="question7"/></td>
                                </tr>
                                <tr>
                                    <td class="left">Question 8</td>
                                    <td><textarea rows="4" cols="30" name="question8" id="question8"></textarea></td>
                                </tr>
                                <tr>
                                    <td class="left">Question 9</td>
                                    <td><textarea rows="4" cols="30" name="question9" id="question9"></textarea></td>
                                </tr>
                                <tr>
                                    <td class="left">Question 10</td>
                                    <td><textarea rows="4" cols="30" name="question10" id="question10"></textarea></td>
                                </tr>
                                <tr>
                                    <td class="left">Question 11</td>
                                    <td><textarea rows="4" cols="30" name="question11" id="question11"></textarea></td>
                                </tr>
                                <tr>
                                    <td class="left">Question 12</td>
                                    <td><input type="text" size="30" name="question12" id="question12"/></td>
                                </tr>
                                <tr>
                                    <td class="left">Question 13</td>
                                    <td><textarea rows="4" cols="30" name="question13" id="question13"></textarea></td>
                                </tr>
                                <tr>
                                    <td class="left">Question 14</td>
                                    <td><textarea rows="4" cols="30" name="question14" id="question14"></textarea></td>
                                </tr>
                                <tr>
                                    <td class="left">Question 15</td>
                                    <td><input type="text" size="30" name="question15" id="question15"/></td>
                                </tr>                           
                            </tbody>
                        </table>
                        <button type="submit" class="btn btn-block btn-danger martop15">Send Application</button>
                    </form>

提前感谢。

请使用

   $queryResult =  $mysqli->query("INSERT INTO applications(question1, question2, question3, question4, question5, question6,quesion7, question8, question9, question10, question11, question12, question13, question14,question15) VALUES ('$question1', '$question2', '$question3', '$question4', '$question5', '$question6', '$question7', '$question8', '$question9', '$question10','$question11', '$question12', '$question13','$question14', '$question15')");
`
插入到TableName(这里,这里)

用于错误处理

if ($queryResult === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: ";
}

如果语句失败,可以通过执行以下操作输出错误消息:

if (!$mysqli->query("INSERT INTO `applications`(`question1`, `question2`, `question3`, `question4`, `question5`, `question6`, `quesion7`, `question8`, `question9`, `question10`, `question11`, `question12`, `question13`, `question14`, `question15`) VALUES (`$question1`, `$question2`, `$question3`, `$question4`, `$question5`, `$question6`, `$question7`, `$question8`, `$question9`, `$question10`, `$question11`, `$question12`, `$question13`, `$question14`, `$question15`)")) {
  printf("Error message: %s\n", $mysqli->error);
}
对于INSERT语句,
$mysqli->query
语句将返回
TRUE
,如果语句成功,则返回
FALSE
。上面的内容应该会告诉你哪里出了问题


编辑:

您的值使用了不正确的引号,即勾号,应改为常规单引号

将其更改为:

if (!$mysqli->query("INSERT INTO `applications` (`question1`, `question2`, `question3`, `question4`, `question5`, `question6`, `quesion7`, `question8`, `question9`, `question10`, `question11`, `question12`, `question13`, `question14`, `question15`) VALUES ('$question1', '$question2', '$question3', '$question4', '$question5', '$question6', '$question7', '$question8', '$question9', '$question10', '$question11', '$question12', '$question13', '$question14', '$question15')")) {
  printf("Error message: %s\n", $mysqli->error);
}
N.B.:

另外,你可能把你的“问题7”列错了,它很可能读作“问题7”

如果是这样的话,应该修改它,但是上面的代码中没有这样做


重要提示:

  • 您当前的代码对用户开放。使用,或

在代码中为数据库字段名添加了引号,我认为这是个问题

$mysqli->query("INSERT INTO applications (question1, question2, question3, question4, question5, question6, quesion7, question8, question9, question10,question11, question12, question13, question14, question15) VALUES (`$question1`, `$question2`, `$question3`, `$question4`, `$question5`, `$question6`, `$question7`, `$question8`, `$question9`, `$question10`, `$question11`, `$question12`, `$question13`, `$question14`, `$question15`)");
试试这个。
我对通过“/”传递段的形式操作u表示怀疑。在核心php中是否有这种支持?实际上,我们只传递查询字符串,只在我们使用的某些框架中使用“/”

从值中删除勾号
`
,并将其替换为引号
。这些是值,不是列。如果你一直在检查错误,你就会被告知这件事。快速搜索和替换将立即修复此问题。您没有看到任何错误,因为您没有查找它们。在您的
mysqli_*()
调用中添加一些错误检查。您也应该认真检查数据的清理。您的代码易受sql注入的影响:/Nota:您可能还错误地在该列中添加了“queson7”一词,除了我编辑的正确答案之外,其他地方都没有注意到。不是
$conn
,但是
$mysqli
——因为OP使用
$mysqli
作为变量。那么为什么要使用
$conn
?嗨!谢谢你的回答。我曾经尝试过实现它,但现在得到了“Message:mysqli类的对象无法转换为字符串”,实际上,请将其删除。刚刚看到你的编辑-它现在就像一个魅力。非常感谢!当然,它会打印出来,但这并不能解决问题,最好是在评论中说。@fred ii:我还是很感激StackOverflow的建议。不客气,Eric。如果您要从答案中的值中删除勾号,并用引号替换它们,那么这样会更好。查看已接受的答案,了解他们是如何做到的。我已对您的答案进行了编辑,Eric,所以只是为了让事情变得正确;-)如果您尝试使用``勾选值,您将得到SQL->INSERT INTO ARCHIES(id,a)值(102,test);“字段列表”中的未知列“102”出现错误
。请修改答案。在哪里`
$mysqli->query("INSERT INTO applications (question1, question2, question3, question4, question5, question6, quesion7, question8, question9, question10,question11, question12, question13, question14, question15) VALUES (`$question1`, `$question2`, `$question3`, `$question4`, `$question5`, `$question6`, `$question7`, `$question8`, `$question9`, `$question10`, `$question11`, `$question12`, `$question13`, `$question14`, `$question15`)");