PHP - 调用未定义的方法database :: real_escape_string()

时间:2013-04-07 00:59:49

标签: function call undefined

我已经搜索并尝试了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);
    }

1 个答案:

答案 0 :(得分:1)

类型'database'不包含名为'real_escape_string'的函数。我有一个理论,你正在使用它,因为你已经习惯了MySQLi,它有一个函数$ db-> real_escape_string()。也许你(或任何人写的)'数据库'类具有不同名称的等效函数。否则,$ db中没有要调用的real_escape_string函数。