@Koshkin_I

Ошибка синтаксиса mysql как исправить?

Всем добра! Есть такой код

1 <?php
2
3 include __DIR__."/config.php";
4
5 class DbConnect{
6 private $connect;
7 public function __construct(){
8 $this->connect = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
9
10 $query = "SET NAMES 'utf8mb4'";
11 $query .= "SET GLOBAL max_allowed_packet=16777216";
11 mysqli_query($this->connect,$query);
13
14 if (mysqli_connect_errno($this->connect))
15 {
16 echo "Failed to connect to MySQL: " . mysqli_connect_error();
17 }
18 }
19
20 public function getDb(){
21 return $this->connect;
22 }
23 }

Выдает при обращении в логах:

Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘SET GLOBAL max_allowed_packet=16777216’ at line 1 in /home/ascer175/domains/androidyava.today/public_html/sql/DB.php:12\nStack trace:\n#0 /home/ascer175/domains/androidyava.today/public_html/sql/DB.php(12): mysqli_query()\n#1 /home/ascer175/domains/androidyava.today/public_html/sql/DBOperations.php(159): DbConnect->__construct()\n#2 /home/ascer175/domains/androidyava.today/public_html/rest_api/register.php(20): DBOperations->isEmailExist()\n#3 {main}\n thrown in /home/ascer175/domains/androidyava.today/public_html/sql/DB.php on lin

Пересмотрел много разного, ни чего не нашел. php & mysql не знаю почти. Может кто подсказать?
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
mysqli_query() выполняет только один запрос.
если надо выполнить два, то надо вызвать эту функцию два раза

кодировка соединения должно выставляться не SQL запроса, с с помощью специальной функции.
SET GLOBAL на хостинге работать не будет
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы