Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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脚本不';t添加到MySQL_Php_Mysql - Fatal编程技术网

来自留言簿的PHP脚本不';t添加到MySQL

来自留言簿的PHP脚本不';t添加到MySQL,php,mysql,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" />

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

下面是脚本:addguestbook.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>
 $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();
$host=“address”//主机名
$username=“username”;//Mysql用户名
$password=“password”;//Mysql密码
$db_name=“guestdb”;//数据库名称
$tbl_name=“留言簿”//表名
//连接到服务器并选择数据库。
mysql_connect(“$host”、“$username”、“$password”)或die(“无法连接服务器”);
mysql_select_db($db_name)或die(“无法选择db”);
$datetime=日期(“y-m-d h:i:s”)//日期时间
$sql=“插入$tbl_名称(名称、电子邮件、注释、日期时间)值(“$name”、“$email”,
“$comment',“$datetime')”;
$result=mysql\u查询($sql);
//检查查询是否成功
如果($结果){
呼应“成功”;
回声“
”; //链接到查看留言簿页面 回声“;} 否则{ 回显“错误”;} mysql_close();
在准备sql查询(
$sql
)之前,必须使用
$POST
数据填充
$name
$email
$comment
变量

<?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);

// ..

我可以看到,您还没有定义变量。。将此添加到上面的
$datetime=da…

$name = isset($_POST['name']) ? $_POST['name'] : false;
$email = isset($_POST['email']) ? $_POST['email'] : false;
$comment = isset($_POST['comment']) ? $_POST['comment'] : false;
除此之外:

  • 请使用查询或PDO
  • 使用mysql*\u real\u escape\u字符串

    • 这可能有多种原因

      我建议将您的查询更改为:

      INSERT INTO $tbl_name set name='$name', email='$email', comment='$comment', datetime='$datetime'
      

      您在哪里定义
      $name
      $email
      $comment
      ?您应该考虑使用PDO或mysqli,否则可能会有SQL注入漏洞。您没有填充
      $name
      $comment
      ,或
      $email
      变量。
      var\u dump($SQL)
      -看看您实际在做什么。调试!很可能这段代码期望启用
      register\u globals
      ,这是一个糟糕的想法。。它们不再得到维护,并且已经开始使用。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果选择PDO,。也请从调试开始。启用最高级别的错误报告,以便您真正注意到潜在的问题,PHP将告诉您这些问题:
      error\u reporting(~0);ini设置(“显示错误”,1)
      或者更好地在php.ini中配置它。