0

Stakeoverflow が提案したすべての提案を検索して試しましたが、どれもうまくいきませんでした。2 つの php ファイル (add_new_page.php、sanitise.php) があります。「sanitise.php」関数「エスケープ」でこのエラーが発生します。

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;
        }       
}

サニタイズ.php

// Escape all characeters - I' am getting the error here...
    function escape($field){
        global $db;
        return $db->real_escape_string($field);
    }
4

1 に答える 1

1

タイプ「データベース」には、「real_escape_string」という関数が含まれていません。$db->real_escape_string() 関数を持つ MySQLi に慣れているため、これを使用しているという理論があります。おそらく、あなたの(またはそれを書いた人)「データベース」クラスには、別の名前の同等の機能があります。それ以外の場合、$db には呼び出される real_escape_string 関数がありません。

于 2013-04-07T01:10:35.520 に答える