我已经搜索并尝试了Stakeoverflow向我建议的所有建议,但没有一个对我有用。我有2个php文件(add_new_page.php,sanitise.php)我在“sanitise.php”函数“escape”上收到此错误。
PHP - 调用未定义的方法database :: real_escape_string()
在我的函数转义中,我似乎无法找出我做错了什么。任何帮助将非常感激。我的截止日期非常接近,我需要尽快完成这项工作。以下是我的2个工作文件的代码。
数据库连接
$db = new database($db_host, $db_user, $db_pass, $db_name);
add_new_page.php
require_once "../classes/classes.php";
if(isset($_POST["txtpagetitle"])){
$txtpagetitle = $_POST["txtpagetitle"];
$txtbrowsertitle = $_POST["txtbrowsertitle"];
$txtpagecontent = $_POST["txtpagecontent"];
$txtpagetitle = trimmer($txtpagetitle);
$txtbrowsertitle = trimmer($txtbrowsertitle);
$txtbrowsertitle = trimmer($txtbrowsertitle);
$txtpagetitle = escape($txtpagetitle, $db);//Calling escape function
$txtbrowsertitle = escape($txtbrowsertitle, $db);//Calling escape function
$txtbrowsertitle = escape($txtbrowsertitle, $db);//Calling escape function
$txtpagetitle_required = required($txtpagetitle);
$txtbrowsertitle_required = required($txtbrowsertitle);
if($txtpagetitle_required == false){
echo "Page Title is required...";
return false;
}
}
sanitise.php
// Escape all characeters - I' am getting the error here...
function escape($field){
global $db;
return $db->real_escape_string($field);
}
答案 0 :(得分:1)
类型'database'不包含名为'real_escape_string'的函数。我有一个理论,你正在使用它,因为你已经习惯了MySQLi,它有一个函数$ db-> real_escape_string()。也许你(或任何人写的)'数据库'类具有不同名称的等效函数。否则,$ db中没有要调用的real_escape_string函数。