Php 使用Tinymce在线编辑器在Mysql数据库中保存文本,并在网站上显示保存的文本
我还有一个关于连接Mysql数据库的问题 我有一个带有Tinymce在线文本编辑器的简单文本文档。在线我想用编辑器更改文本,将其保存到Mysql数据库,然后在线显示新文本。我有以下脚本,我从doAddContents.php文件中得到此错误: 警告:mysql\u real\u escape\u string():第8行的/./doAddContents.php中的用户“@”localhost(使用密码:否)的访问被拒绝 警告:mysql\u real\u escape\u string():无法在第8行的/./doAddContents.php中建立到服务器的链接 我不知道我做错了什么。以下是脚本: 首先是连接到数据库的脚本: db.php:Php 使用Tinymce在线编辑器在Mysql数据库中保存文本,并在网站上显示保存的文本,php,mysql,Php,Mysql,我还有一个关于连接Mysql数据库的问题 我有一个带有Tinymce在线文本编辑器的简单文本文档。在线我想用编辑器更改文本,将其保存到Mysql数据库,然后在线显示新文本。我有以下脚本,我从doAddContents.php文件中得到此错误: 警告:mysql\u real\u escape\u string():第8行的/./doAddContents.php中的用户“@”localhost(使用密码:否)的访问被拒绝 警告:mysql\u real\u escape\u string():无
<?php
function doDB() {
global $mysqli;
//connect to server and select database
$mysqli = mysqli_connect("localhost", "name", "pass", "db-name");
//if the connection fails, stop script execution
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
}
?>
doAddContents.php文件:
<?php
include("db.php");
doDB();
$h4_block = "Contents Saved!";
$elm1 = $_POST['elm1'];
$entity_elm1 = htmlentities($elm1);
$entity_elm1 = mysql_real_escape_string($entity_elm1);
$add_contents_sql = "UPDATE tinymce_contents SET `contents`=
'$entity_elm1', `modified`=now()";
$add_contents_res = mysqli_query($mysqli, $add_contents_sql)
or die(mysqli_error($mysqli));
//close connection to MySQL
mysqli_close($mysqli);
//create nice message for user
$display_block = "<p>The page has been successfully updated.</p>";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<div>
<h4><?php echo $h4_block; ?></h4>
<?php echo $display_block; ?>
<a href="view.php">View Page!</a>
</div>
</body>
</html>
<?php
include("db.php");
doDB();
$h4_block = "View Page!";
$get_contents_sql = "SELECT * FROM tinymce_contents";
$get_contents_res = mysqli_query($mysqli, $get_contents_sql)
or die(mysqli_error($mysqli));
if ($get_contents_res = mysqli_query($mysqli, $get_contents_sql)) {
//fetch associative array
while ($row = mysqli_fetch_assoc($get_contents_res)) {
$id = $row['id'];
$contents = $row['contents'];
$modified = $row['modified'];
//Draw the results
$view_block ="<p>ID: ".$id."</p>";
$view_block .="<b>Contents</b>:".html_entity_decode($contents);
$view_block .="<b>Modified</b>:".$modified."<br/>";
}
}
//close connection to MySQL
mysqli_close($mysqli);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<div>
<h4><?php echo $h4_block; ?></h4>
<?php echo $view_block; ?>
<a href="index.php">Back to Page Edit!</a>
</div>
</body>
</html>
根据mysql\u real\u escape\u string的文档。如果没有使用
mysql\u connect()
打开连接,函数将尝试创建mysql连接
您不应该使用mysql\u real\u escape\u string()
而是mysqli\u real\u escape\u string()
这是可行的,但我有另一个错误,我不知道如何修复。我得到以下错误:警告:mysqli_real_escape_string()需要两个参数,其中一个参数在第8行doAddContents.php中给出($entity_elm1=mysqli_real_escape_string($entity_elm1);)。我尝试过不同的可能性,但无法获得解决方案如果您阅读了文档,就会发现您缺少了什么
mysqli\u real\u escape\u字符串($msqli,$entity\u elm1)代码>