2011-03-24 1 views
0

カスタムクラスの側で$ myqli-> real_escape_stringを使用して接続を再度ロードすることはできますか?以下のコードを参考にしてください。 $ mysqliが2回作成されているので、すでに確立されている接続を使用できますか?あなたがクラスを初期化するとき

<?php 
$mysqli = new mysqli('127.0.0.1','user','password','table'); 
/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit('connect failed!'); 
} 
// connected 

class save { 
    public $datatosave = ''; 
    function __construct ($new) { 
     $mysqli = new mysqli('127.0.0.1','user','password','table'); 
     $this->datatosave = $mysqli->real_escape_string($new); 
    } 
} 

$infromation = " ' test"; 

$newinfo = new save ($infromation); 
echo $newinfo->datatosave; 

$mysqli->close(); 
?>\ 

はまだ出力\」テストは

+0

あなたは(インスタンスのコンストラクタに?)クラスを保存 –

答えて

1

あなたは$ mysqliの変数との接続をキャッチされているので、ちょうどあなたの__construct関数にそれを渡す必要があります。

class save { 

     public $datatosave = ''; 

     function __construct ($new, $mysqli_attr) { 

      $this->datatosave = $mysqli_attr->real_escape_string($new); 
     } 
    } 
    $infromation = " ' test"; 

    $newinfo = new save ($infromation, $mysqli); 

    echo $newinfo->datatosave; 
+0

にmysqliのオブジェクトを渡すことができないのはなぜありがとうわずか申し訳ありませんことを見て – Justin

関連する問題