Textarea不会在数据库中保存文本

时间:2017-05-02 12:30:35

标签: php html mysql

我有一个textarea问题,我无法使用post方法获取数据。 我通过phpmyadmin检查了我的数据库,这段代码没有保存任何东西。我做错了什么?表单操作页面是同一页面。 DB连接:

<?php
$connection = mysqli_connect('localhost', 'root', '', 'test_db');
if($connection == false) {
   echo "Could not connect to database";
   echo mysqli_connect_error;
   exit();
}

&GT;

这是php代码:

<?php
date_default_timezone_set('UTC');

if (isset($_POST['comment'])) {
    $commentText = htmlspecialchars($_POST['comment']);
    $commentPubDate = htmlspecialchars(date("d.m.Y H:i:s"));
    mysqli_query($connection, "INSERT INTO `identify` (comments, compubdate) VALUES ('$commentText','$commentPubDate')");
}

$allComments = mysqli_query($connection, "SELECT * FROM `comments`");
$allCommentsPubDate = mysqli_query($connection, "SELECT * FROM `compubdate");

print_r(mysqli_fetch_array($allComments));
print_r(mysqli_fetch_array($allCommentsPubDate));
?>

和html代码:

<form method="post" action="index.php">
    <textarea rows="5" cols="80" id="comment-input" placeholder="Leave a comment..." name="comment"></textarea>
    <input type="submit" id="comment-submit">
</form>

这是我得到的错误:

警告:mysqli_fetch_array()要求参数1为mysqli_result,第62行/Library/WebServer/Documents/index.php中给出布尔值

我的问题不同,因为INSERT有错误,而不是SELECT。 SELECT工作正常。

1 个答案:

答案 0 :(得分:-1)

你在插入查询中使用单引号可能你必须从值中删除这个(&#39;)符号希望这会对你有所帮助

if (isset($_POST['comment'])) {
    $commentText = htmlspecialchars($_POST['comment']);
    $commentPubDate = htmlspecialchars(date("d.m.Y H:i:s"));
    mysqli_query($connection, "INSERT INTO `identify` (comments, compubdate) VALUES ('".$commentText."','".$commentPubDate."')");
}