Php 使用Tinymce在线编辑器在Mysql数据库中保存文本,并在网站上显示保存的文本

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():无

我还有一个关于连接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
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)