这不会很快上线。我只是想学习 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>
这是 PHP:
<?php
$ContactName = $_POST["ContactName"];
$ContactEmail = $_POST["ContactEmail"];
$ContactComment = $_POST["ContactComment"];
$sql_connection = mysqli_connect("localhost:8889","root","root","derek_website_tmp");
if (mysqli_connect_errno())
{
echo "failed to connect" . mysqli_connect_error();
}
$sql = "INSERT INTO MyContacts (
ContactName,
ContactEmail,
ContactComment,
ContactDateCreated
)
VALUES (
'$ContactName',
'$ContactEmail',
'$ContactComment',
NOW()
)";
if (!mysqli_query($sql_connection,$sql))
{
die('Error : ' . mysqli_error($sql_connection));
}
mysql_close ($sql_connection);
?>
这是数据库:
mysql> USE derek_website_tmp;
Database changed
mysql> CREATE TABLE MyContacts (
-> ContactID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> ContactName VARCHAR(100),
-> ContactEmail VARCHAR(100),
-> ContactComment VARCHAR(200),
-> ContactDateCreated DATETIME
-> );
Query OK, 0 rows affected (0.19 sec)
任何帮助将不胜感激。我意识到这并没有 sanitizer 任何东西,也不值得上线。我现在正在努力将其插入。
谢谢,
最佳答案
$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() )";
关于PHP表单不插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18840349/