Ошибка в синтаксисе SQL для PHP 8.1, но работает в PHP 7.4?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Ошибка в синтаксисе SQL для PHP 8.1, но работает в PHP 7.4?

Сообщение Anonymous »

Я управляю сайтом WordPress и недавно изменил версию PHP с версии 7.4 на версию 8.1. Я получаю фатальную ошибку в функции, которая возникает только в версии 8.1. Когда я возвращаюсь к версии 7.4, ошибки нет.
  • Ошибка:
    [24- Сентябрь 2024 г., 14:52:30 UTC] Неустранимая ошибка PHP: неперехваченное mysqli_sql_Exception: у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MariaDB, чтобы найти правильный синтаксис для использования рядом с '' в строке 1
    Трассировка стека:
  • Фактический код:
    частная функция ExecuteQueryNoReturn($sql) {
    $sql = join(" ", $sql);

    $result = mysqli_query($this->DBConnection, $sql);

    return array($result, mysqli_error($this->DBConnection));
Есть ли в версии 8.1 какие-то очевидные синтаксические изменения, которые отличается от приведенной выше функции?
SQL:
публичная функция AddVendor($record) {
$sql = array();
$sql[] = "INSERT INTO rv_businesses SET";
$sql[] = "id = " . mysqli_real_escape_string($this->DBConnection, $record['ID']) . ",";
$sql[] = "business_active = '" . mysqli_real_escape_string($this->DBConnection, $record['Active']) . "',";
$sql[] = "business_name = '" . mysqli_real_escape_string($this->DBConnection, $record['Company']) . "',";
$sql[] = "business_address1 = '" . mysqli_real_escape_string($this->DBConnection, $record['Address']) . "',";
$sql[] = "business_city= '" . mysqli_real_escape_string($this->DBConnection, $record['City']) . "',";
$sql[] = "business_state = '" . mysqli_real_escape_string($this->DBConnection, $record['State']) . "',";
$sql[] = "business_zip = '" . mysqli_real_escape_string($this->DBConnection, $record['ZIP']) . "',";
$sql[] = "business_county = '" . mysqli_real_escape_string($this->DBConnection, $record['County']) . "',";
$sql[] = "business_phone = '" . mysqli_real_escape_string($this->DBConnection, $record['Phone']) . "',";
$sql[] = "business_email= '" . mysqli_real_escape_string($this->DBConnection, $record['Email']) . "',";
$sql[] = "business_url = '" . mysqli_real_escape_string($this->DBConnection, $record['URL']) . "',";
$sql[] = "business_contactfirst = '" . mysqli_real_escape_string($this->DBConnection, $record['ContactFirst']) . "',";
$sql[] = "business_contactlast = '" . mysqli_real_escape_string($this->DBConnection, $record['ContactLast']) . "',";
//New Additions 08-14-2024:
$sql[] = "business_supplierid = '" . mysqli_real_escape_string($this->DBConnection, $record['SupplierID']) . "',";
$sql[] = "business_tradeallytypes = '" . mysqli_real_escape_string($this->DBConnection, $record['TradeAllyTypes']) . "',";
// TODO: this field is unused $sql[] = "business_jobscount = '" . mysqli_real_escape_string($this->DBConnection, $record['']) . "',";
// TODO: this field is unused $sql[] = "business_rating = '" . mysqli_real_escape_string($this->DBConnection, $record['']) . "',";
$sql[] = "business_statement = '" . mysqli_real_escape_string($this->DBConnection, $record['Statement']) . "',";
$sql[] = "business_yearestablished = '" . mysqli_real_escape_string($this->DBConnection, $record['YearEstablished']) . "',";
$sql[] = "business_aboutus = '" . mysqli_real_escape_string($this->DBConnection, $record['AboutUs']) . "',";
$sql[] = "business_services = '" . mysqli_real_escape_string($this->DBConnection, $record['OurServices']) . "',";
$sql[] = "business_typicalproject = '" . mysqli_real_escape_string($this->DBConnection, $record['TypicalProject']) . "',";
$sql[] = "business_servicearea = '" . mysqli_real_escape_string($this->DBConnection, $record['ServiceArea']) . "'";

$result = $this->ExecuteQueryNoReturn($sql);

return $result;

}


Подробнее здесь: https://stackoverflow.com/questions/790 ... in-php-7-4
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»