Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 - Fatal编程技术网

PHP表单不插入数据

PHP表单不插入数据,php,mysql,Php,Mysql,这不会很快上线。我只是想学习PHP/MySQL。这是我第一次尝试插入数据库。我不明白为什么数据不能插入。这是HTML表单: <form action="testdbserverside.php" method="post"> Name:<br /> <input type="text" id="ContactName" name="Name" /><br /> E-mail:<br /> <

这不会很快上线。我只是想学习PHP/MySQL。这是我第一次尝试插入数据库。我不明白为什么数据不能插入。这是HTML表单:

    <form action="testdbserverside.php" method="post">
    Name:<br />
    <input type="text" id="ContactName" name="Name" /><br />
    E-mail:<br />
    <input type="text" id="ContactEmail" name="Email" /><br />
    Comment:<br />
    <input type="text" id="ContactComment" name="Comment" size="50" />
    <br /><br />
    <input type="submit" id="submit" name="submit" value="Send">
    <input type="reset" id ="reset" value="Reset">
    </form>
任何帮助都将不胜感激。我意识到这不是在消毒任何东西,也不值得去生活。我现在正在努力让它插入

谢谢,

$ContactName = $_POST["ContactName"]; 
$ContactEmail = $_POST["ContactEmail"]; 
$ContactComment = $_POST["ContactComment"];
应该是:

$ContactName = $_POST["Name"]; 
$ContactEmail = $_POST["Email"]; 
$ContactComment = $_POST["Comment"];
name
是您的参数,而不是
id

您的查询应该是:

$sql = "INSERT INTO MyContacts (ContactName, ContactEmail, ContactComment, ContactDateCreated ) VALUES ( "'.$ContactName.'", "'.$ContactEmail.'", "'.$ContactComment.'", NOW() )";

您试图从“ID”而不是“NAME”属性中读取值

表单可以这样修改(就表单提交而言,ID部分是可选的):


在您的PHP页面中,您是通过id来收集值的,它不会像您必须通过文本字段名来收集值那样工作

$ContactName = $_POST["Name"];
$ContactEmail = $_POST["Email"];
$ContactComment = $_POST["Comment"];  

我认为这会很好。

您遇到了什么错误?您需要关闭
表单
标签。。还有(1)什么不起作用?(2) 请不要在查询中使用像
“$variable”
这样的插入,它们对SQL注入攻击非常脆弱……我没有收到任何错误。插入的唯一内容是ContactID和创建的日期。在以后的情况下,请添加
错误报告(-1);ini_设置(“显示错误”、“打开”)在开发工作期间。
$sql = "INSERT INTO MyContacts (ContactName, ContactEmail, ContactComment, ContactDateCreated ) VALUES ( "'.$ContactName.'", "'.$ContactEmail.'", "'.$ContactComment.'", NOW() )";
Name:<br />
<input type="text" id="ContactName" name="ContactName" /><br />
E-mail:<br />
<input type="text" id="ContactEmail" name="ContactEmail" /><br />
Comment:<br />
<input type="text" id="ContactComment" name="ContactComment" size="50" />
<?
// this will show what really is coming in through the $_POST
print_r($_POST);
?>
$ContactName = $_POST["Name"];
$ContactEmail = $_POST["Email"];
$ContactComment = $_POST["Comment"];