我收到此错误,我在此网站上尝试了所有论坛但仍然不理解。
警告:mysql_real_escape_string()要求参数2为资源,在第25行的/home/canwechi/public_html/submit.php中给出null 0
以下是我的代码:
<?php
define('INCLUDE_CHECK',1);
require "functions.php";
include "includes/vars.inc.php";
if(ini_get('magic_quotes_gpc'))
$_POST['inputField']=stripslashes($_POST['inputField']);
$_POST['inputField'] = mysql_real_escape_string(strip_tags($_POST['inputField']),$link);
if(mb_strlen($_POST['inputField']) < 1 || mb_strlen($_POST['inputField'])>140)
die("0");
mysql_query("INSERT INTO statusupdate SET tweet='".$_POST['inputField']."',dt=NOW()");
if(mysql_affected_rows($link)!=1)
die("0");
echo formatTweet($_POST['inputField'],time());
?>
答案 0 :(得分:1)
mysql_real_escape_string
需要有效的MySql连接才能工作,第二个参数是标识以前使用mysql_connect
可以在official docs中找到一个很好的例子:
<?php
// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
OR die(mysql_error());
// Query
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
另请注意,正如您在问题的评论中提到的那样 - 建议不要使用mysql
扩展名,因为自PHP 5.5以来已弃用