PHP mysqli_real_escape_字符串返回空字符串

PHP mysqli_real_escape_字符串返回空字符串,php,mysql,Php,Mysql,如果我不使用mysql\u real\u escape\u string函数,代码就可以正常工作。但是函数什么也不返回!我读到这个问题可能是因为我没有mysql连接,但事实似乎并非如此 请帮忙 <?php $con=mysqli_connect("localhost","root","pwd","mysql"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: "

如果我不使用mysql\u real\u escape\u string函数,代码就可以正常工作。但是函数什么也不返回!我读到这个问题可能是因为我没有mysql连接,但事实似乎并非如此

请帮忙

<?php
$con=mysqli_connect("localhost","root","pwd","mysql");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$title = mysqli_real_escape_string($_POST["title"]);
$comment = mysqli_real_escape_string($_POST["comment"]);
$type = $_POST["type"];
$time = date("Y-m-d H:i:s");


$sql="INSERT INTO posts
VALUES
('','$type','$time','$time','$title','$comment','0','0','0','0','0')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }



mysqli_close($con);
header ("location: index.php");
?>

您需要将连接传递到函数

$title = mysqli_real_escape_string($con, $_POST["title"]);

您需要将连接传递到函数

$title = mysqli_real_escape_string($con, $_POST["title"]);
程序风格 mysqli\u real\u escape\u字符串mysqli$link,字符串$escapestr 因此,您需要将$con添加到其中: $title=mysqli\u real\u escape\u string$con,$\u POST[title]

程序风格 mysqli\u real\u escape\u字符串mysqli$link,字符串$escapestr 因此,您需要将$con添加到其中: $title=mysqli\u real\u escape\u string$con,$\u POST[title]

根据,除非使用面向对象的样式,否则需要传递两个参数。应使用以下格式:

mysqli\u real\u escape\u字符串$link,$escapestr 其中$link是:由mysqli_connect或mysqli_init返回的链接标识符

$escapestr是:要转义的字符串。编码的字符为NUL ASCII 0、\n、\r、\、'和Control-Z。

根据您需要传递两个参数,除非您使用的是面向对象的样式。您应该使用以下格式:

mysqli\u real\u escape\u字符串$link,$escapestr 其中$link是:由mysqli_connect或mysqli_init返回的链接标识符


$escapestr是:要转义的字符串。编码的字符是NUL ASCII 0、\n、\r、\、'和Control-Z。

为什么要转义$\u POST[title]而不是$\u POST[type]?为什么要转义$\u POST[title]而不是$\u POST[type]?我知道,我必须等8分钟才能接受它:我知道,我必须等8分钟才能接受它: