Мой код выглядит так:Как избежать одиночных кавычек С mysqli_real_escape_string?
Мой массив города (echo '<pre>';print_r($city);echo '</pre>';die();
):
Array
(
[0] => Array
(
[CityCode] => 14879
[CityName] => Soldeu
)
[1] => Array
(
[CityCode] => 14881
[CityName] => Ari'nsal
)
[2] => Array
(
[CityCode] => 14882
[CityName] => El Tarter
)
[3] => Array
(
[CityCode] => 14883
[CityName] => Grau Roig
)
[4] => Array
(
[CityCode] => 175198
[CityName] => Llorts
)
)
В код города: 14881, название города: Ari'nsal
Это одинарные кавычки в строке.
Стараюсь такой код:
$date = date('Y-m-d H:i:s');
$sql = "INSERT INTO hotel_search_city (nation_code, city_code, city_name, created_at, updated_at) values ";
$valuesArr = array();
foreach($city as $row){
$nation_code = $value->nation_code;
$city_code = $row['CityCode'];
$city_name = mysqli_real_escape_string($row['CityName']);
$created_at = $date;
$updated_at = $date;
$valuesArr[] = "('$nation_code', '$city_code', '$city_name', '$created_at', '$updated_at')";
}
$sql .= implode(',', $valuesArr);
$query = $sql;
$this->db->query($query);
Там существует ошибка, как это: Сообщение: mysqli_real_escape_string() ожидает, что именно 2 параметра, 1, данные ....
Любое решение, чтобы решить мою проблему?
Большое спасибо
Если вы не используете объектно-ориентированный синтаксис, то вам необходимо обеспечить соединение: 'mysqli_real_escape_string ($ this-> дб , $ row ['CityName']). Еще лучше, не используйте 'mysqli_real_escape_string', но PDO и подготовленные операторы. – Amadan
Я пытаюсь: mysqli_real_escape_string ($ this-> db, $ row ['CityName']). Есть ошибка: Сообщение: mysqli_real_escape_string() ожидает, что параметр 1 будет mysqli, данный объект –
Я вижу. Затем попробуйте '$ this-> db-> mysql_real_escape_string ($ row ['CityName']). – Amadan