当我通过php表单提交留言簿详细信息时,它以“Successful”结束,但是当我查看MySQL数据库时,它只是创建了新的条目,但没有任何详细信息需要自动ID和日期。
以下是表格:guestbook.php
<form id="form1" name="form1" method="post" action="addguestbook.php">
<td><input name="name" type="text" id="name" size="40" /></td>
<td><input name="email" type="text" id="email" size="40" /></td>
<td><textarea name="comment" cols="40" rows="3" id="comment"></textarea></td>
<td><input type="submit" name="Submit" value="Submit" /> <input type="reset"
name="Submit2" value="Reset" /></td>
这是脚本:addguestbook.php
$host="address"; // Host name
$username="username"; // Mysql username
$password="password"; // Mysql password
$db_name="guestdb"; // Database name
$tbl_name="guestbook"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect server ");
mysql_select_db("$db_name")or die("cannot select DB");
$datetime=date("y-m-d h:i:s"); //date time
$sql="INSERT INTO $tbl_name(name, email, comment, datetime)VALUES('$name', '$email',
'$comment', '$datetime')";
$result=mysql_query($sql);
//check if query successful
if($result){
echo "Successful";
echo "<BR>";
// link to view guestbook page
echo "<a href='viewguestbook.php'>View guestbook</a>";}
else {
echo "ERROR";}
mysql_close();
答案 0 :(得分:4)
在准备SQL查询($sql
)之前,您必须使用$name
数据填充$email
,$comment
和$_POST
个变种。
<?php
// ..
$name = $_POST['name'];
$email = $_POST['email'];
$comment = $_POST['comment'];
$sql = "INSERT INTO $tbl_name(name, email, comment, datetime)VALUES('$name', '$email',
'$comment', '$datetime')";
$result = mysql_query($sql);
// ..
加分:使用PDO
答案 1 :(得分:2)
我可以看到,你没有定义你的变量..在$datetime=da...
上面加上这个。
$name = isset($_POST['name']) ? $_POST['name'] : false;
$email = isset($_POST['email']) ? $_POST['email'] : false;
$comment = isset($_POST['comment']) ? $_POST['comment'] : false;
除此之外:
答案 2 :(得分:1)
这可能有多种原因。
我建议您将查询更改为:
INSERT INTO $tbl_name set name='$name', email='$email', comment='$comment', datetime='$datetime'