来自Guestbook的PHP脚本不会添加到MySQL

时间:2012-11-14 15:00:09

标签: php mysql

当我通过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();

3 个答案:

答案 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'