簡體   English   中英

PHP mysqli_real_escape_string返回空字符串

[英]PHP mysqli_real_escape_string returning empty string

如果我不使用mysql_real_escape_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"]);

根據http://php.net/manual/en/mysqli.real-escape-string.php ,除非您使用面向對象的樣式,否則您需要傳遞兩個參數,應使用以下格式:

mysqli_real_escape_string($ link,$ escapestr)

其中$ link是:mysqli_connect()或mysqli_init()返回的鏈接標識符

$ escapestr是:要轉義的字符串。 編碼的字符為NUL(ASCII 0),\\ n,\\ r,\\,',“和Control-Z。

php.net說
程序風格
mysqli_real_escape_string ( mysqli $link , string $escapestr )
因此,您需要在其中添加$ con:
$title = mysqli_real_escape_string($con, $_POST["title"]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM