我尝试使用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)");
}
?>
答案 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,请花时间学习PDO
或mysqli
数据库扩展。 Start here
编辑RE:不将数据保存到数据库
为代码添加一些错误检查,如下所示:
$t = mysql_real_escape_string($text);
$result = mysql_query("INSERT INTO text (textarea) VALUES ('$t')");
if ( ! $result ) {
echo mysql_error();
exit;
}
一旦你知道错误,如果存在,你可以开始修复它。