Можно ли использовать $ myqli-> real_escape_string в стороне пользовательского класса, не загружая соединение снова? - PullRequest
0 голосов
/ 25 марта 2011

Возможно ли использовать $ myqli-> real_escape_string в стороне пользовательского класса, не загружая соединение снова? Возьми код ниже. $ mysqli создается дважды, возможно ли использовать уже установленное соединение?

<?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();
?>\

должен все еще выводить \ 'test

1 Ответ

1 голос
/ 25 марта 2011

Поскольку вы перехватываете соединение с переменной $ 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...