从CKEDITOR写入数据库

时间:2016-11-22 10:59:24

标签: php html sql

我尝试使用CKEditor写入数据库..当我按下提交时,它会死掉,并说localhost当前无法处理此请求。 HTTP ERROR 500

我只想将textarea保存到数据库中的一行,这样我就可以将行读到另一页。

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="robots" content="noindex, nofollow">
    <title>Classic editor replacing a textarea</title>
    <script src="http://cdn.ckeditor.com/4.6.0/standard-all/ckeditor.js"></script>
</head>

<body>
    <form id="editor1" action="save.php" method="post" >

    <textarea cols="80" id="editor1" name="editor1" rows="10">
    </textarea>

        <p>
            <input type="submit" value="Submit">
        </p>
    </form>

    <script>
        CKEDITOR.replace( 'editor1' );
    </script>
</body>

</html>

PHP脚本

<?php

if(isset($_POST['submit']))
{
   // Putting data from form into variables to be manipulated
   $text = $_POST['editor1'];

   $conn = mysql_connect("localhost","root","root") or die ("Can't connect");
   mysql_select_db("managerMessage",$conn);

   // Getting the form variables and then placing their values into the MySQL table
   mysql_query("INSERT INTO text (textarea) VALUES ("mysql_real_escape_string($text)");
}
?>

1 个答案:

答案 0 :(得分:0)

您没有在此语句中正确连接值,并且此类查询中的文本数据也应该用引号括起来

mysql_query("INSERT INTO text (textarea) VALUES ("mysql_real_escape_string($text)");

这是您的代码的更正版本

mysql_query("INSERT INTO text 
                    (textarea) 
             VALUES ('" . mysql_real_escape_string($text) . "')");

更简单的代码是阅读,可能维护

$t = mysql_real_escape_string($text);
mysql_query("INSERT INTO text (textarea) VALUES ('$t')");
  如果我没有提醒你

,那将是我的疏忽      

每次使用the mysql_    新代码中的数据库扩展     a Kitten is strangled somewhere in the world 它已被弃用,已经存在多年,并且在PHP7中一直存在。   如果您只是学习PHP,请花时间学习PDOmysqli数据库扩展。   Start here

编辑RE:不将数据保存到数据库

为代码添加一些错误检查,如下所示:

$t = mysql_real_escape_string($text);
$result = mysql_query("INSERT INTO text (textarea) VALUES ('$t')");
if ( ! $result ) {
    echo mysql_error();
    exit;
}

一旦你知道错误,如果存在,你可以开始修复它。