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和mysql中表2的表单为表1中的每个线程数据行插入注释数据_Php_Mysql - Fatal编程技术网

如何使用php和mysql中表2的表单为表1中的每个线程数据行插入注释数据

如何使用php和mysql中表2的表单为表1中的每个线程数据行插入注释数据,php,mysql,Php,Mysql,对不起,我的英语不好。我正在尝试使用mysql和php创建一个类似论坛的页面。我创建了两个表,张贴和评论。 在我的页面上,用户可以发布一个线程,也可以发布该线程的评论。我没有问题张贴一个线程。因为发表评论,我犯了一个错误。而且,如果可以的话,对于每一个帖子,我都可以发表很多评论。这是我的密码: 编辑 以下是forum_comment_add.php: <?php $con=mysqli_connect("localhost","root","admin","forum"); if (mys

对不起,我的英语不好。我正在尝试使用mysql和php创建一个类似论坛的页面。我创建了两个表,张贴和评论。 在我的页面上,用户可以发布一个线程,也可以发布该线程的评论。我没有问题张贴一个线程。因为发表评论,我犯了一个错误。而且,如果可以的话,对于每一个帖子,我都可以发表很多评论。这是我的密码:

编辑

以下是forum_comment_add.php:

<?php
$con=mysqli_connect("localhost","root","admin","forum");
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$post_id = $_POST['post_id'];
$query = "SELECT * FROM post WHERE post_id ='".$post_id."'";
$result = mysqli_query($con,$query);
$rows = mysqli_fetch_array($result);
?>
<table width="710" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td width="708"><form name="comment_insert" method="post" action="forum_comment_add_go.php">
  <table width="398" border="0" align="center">
    <tr>
      <th width="24" scope="col">NO</th>
      <th width="90" scope="col">DATE</th>
      <th width="68" scope="col">TIME</th>
      <th width="198" scope="col">COMMENT</th>
      </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input name="date" type="text" id="date" size="15" /></td>
      <td><input name="time" type="text" id="time" size="10" maxlength="9" /></td>
      <td><input type="text" name="thread_comment" id="thread_comment" /></td>
      </tr>
    <tr>
      <td colspan="4" align="right"><?php echo "<input type='hidden' value='" . $rows['post_id'] . "' name='post_id'>"; echo "<input type='submit' value='Add Record'>";?></td>
    </tr>
  </table>


</form>
</td>
</tr>
</table>
<?php
mysqli_close($con);
?>

首先,您的insert查询在变量周围有一个错误的单引号-

$comment_in="INSERT INTO comment ( date, time, thread_comment) VALUES ( $'date', $'time', $'thread_comment')";
应该是

$comment_in="INSERT INTO comment ( date, time, thread_comment) VALUES ( '$date', '$time', '$thread_comment')";
其次,在插入变量之前,我看不到在
forum\u comment\u add\u go.php中设置这些变量的位置-
$date
$time
$thread\u comment

第三,在插入评论时,您没有包括与评论相关的帖子id

因此,您的代码可能类似于-

$date = $_POST['date'];
$time = $_POST['time'];
$thread_comment = $_POST['thread_comment'];
$post_id = $_POST['post_id'];
$comment_in="INSERT INTO comment ( date, time, thread_comment, post_id) VALUES ( '$date', '$time', '$thread_comment', '$post_id)";

注意,您对sql注入是开放的,因为您直接插入用户值而不进行清理。看看

你能不能把你的代码简化成用来发表评论的东西。这是很多代码要尝试阅读through@Sean,我想人们需要看到所有的代码。很抱歉我应该删除其他代码吗?是的,只提供与您的问题直接相关的代码。谢谢。我差点忘了声明那些变量。我试图按照您的代码进行操作,但结果仍然是错误的。我的数据库还是空的。你的意思是用新代码更新我的问题吗?因为在此评论字段不能发表太多的文字。是的意思是说用更新的代码更新您的问题。请尝试将
mysqli_error()
添加到您的错误消息中,以了解它为什么不插入->
否则{echo“error-”。mysqli_error($con);}
。可能是语法错误、列名拼写错误等。
$date = $_POST['date'];
$time = $_POST['time'];
$thread_comment = $_POST['thread_comment'];
$post_id = $_POST['post_id'];
$comment_in="INSERT INTO comment ( date, time, thread_comment, post_id) VALUES ( '$date', '$time', '$thread_comment', '$post_id)";