我有一个类mysqli connect,我需要从另一个类(不在这个构造中)中转义变量,但是在上面的类中。
public function __construct(){
require_once(__DIR__."/../config/config.php");
$mysqli = new mysqli($config['db_hostname'], $config['db_username'], $config['db_password'], $config['db_name']);
if($mysqli->connect_errno)
{
printf("Připojení selhalo %s\n",$mysqli->connect_error());
exit();
}
$this->connection = $mysqli;
mysqli_set_charset($this->connection, $config['charset']);
if($this->isLoginPage()){
}else{
//DIE pokud není přihlášený ----------------------------
if(!$this->isLogged()[0]->id and $_GET['qr'] != 1){
die("Nepovolený přístup.");
}
//------------------------------------------------
}
}
public function insert($query){
$result = $this->connection->query($query);
return $this->connection->insert_id;
}
public function update($query)
{
$result = $this->connection->query($query);
}
我需要从sql中的另一个类解析mysqli_real_escape_string。代码看起来像。
function updatePageSettings($array){
global $db;
$query = "UPDATE settings set setting_page='".$array."'";
return $db->update($query);
}
我需要在$ query中转义$ array(像mysqli_real_escape_string($ array)一样思考)。感谢您的回复!
答案 0 :(得分:1)
在您的类中添加另一个方法来建立数据库连接和所有。
public function escape($string){
return $this->connection->real_escape_string($string);
}
然后更新设置功能如下
function updatePageSettings($array){
global $db;
$query = "UPDATE settings set setting_page='".$db->escape($array)."'";
return $db->update($query);
}