Php $\无法创建记录的POST表单
我正在处理一个简单的PHP表单,我遇到了一个有点奇怪的问题。它发生在我的本地MAMP环境和我的托管网站上。此脚本的目的是基于通过以下表单提交的数据将记录存储到表中Php $\无法创建记录的POST表单,php,mysql,forms,Php,Mysql,Forms,我正在处理一个简单的PHP表单,我遇到了一个有点奇怪的问题。它发生在我的本地MAMP环境和我的托管网站上。此脚本的目的是基于通过以下表单提交的数据将记录存储到表中 <?php include("dbconnect.php"); if(isset($_POST['submit']){ $firstName = $_POST['firstName']; $SQLString = "INSERT INTO name_table (first_nam
<?php
include("dbconnect.php");
if(isset($_POST['submit']){
$firstName = $_POST['firstName'];
$SQLString = "INSERT INTO name_table (first_name) VALUES($firstName)";
mysql_query($SQLString);
} else {
//Debugging script
$mypostdata = file("php://input");
print "<pre>";
var_dump($_POST);
var_dump($mypostdata);
print "</pre>";
}
?>
<form name="myForm" action="<?php $_SERVER['PHP_SELF']?>" method="POST">
<label for="firstName">First Name:</label>
<input type="text" name="firstName" value="Bob" />
<input type="submit" name="submit" value="Finish">
</form>
var_dump on$mypostdata=文件(“php://input");代码>结果如下:
"INSERT INTO name_table (first_name) VALUES('$firstName')";
提交表单时,表中没有创建任何记录
编辑:
为了清楚起见,我最初认为错误在于$\u POST['myForm']
名称出现为NULL
,但注释和答案已经澄清了这一点。
表单本身未被列为“成功控制”(请参见17.2.1),因此不应提交其名称。如果first\u name是一个varchar,则需要在MySQL查询中将其包装为单引号。例如:
改变
$SQLString=“插入到name_表(first_name)值($firstName)”;到
$SQLString=“插入到name_表(first_name)值(“.$firstName.”)中”
如果不起作用,则通过写入错误报告(E_ALL)显示页面错误;和ini_集合(“显示错误”,1)
继续发布结果谁说应该发布?请详细说明有用的信息。我是认真的。你为什么希望表单的名称被发布?啊,谢谢,我编辑了这篇文章以便更准确一点,因为我知道我错误地认为$\u post name的值不是NULL。未创建记录的问题仍然存在。php文档:isset
-确定是否设置了变量且该变量不为NULL。
array(9){
"name=Bob&submit=Finish"
}
"INSERT INTO name_table (first_name) VALUES('$firstName')";