Как исправить проблему с моим запросом и заставить его работать на сервере mariadb? - PullRequest
0 голосов
/ 17 октября 2019

Я не уверен, почему я получаю ошибку ниже при выполнении запроса. У вас есть ошибка в вашем синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы узнать правильный синтаксис для использования рядом с '' в строке 1

Это на centos clodlinux serever Версия сервера: 10.3.18-MariaDB-cll-lve MariaDB Server

$data = mysql_query("SELECT subject, dateline, ticketid, fullname, departmentid, priorityid, firstpostid  FROM `swtickets` WHERE ticketstatusid = 1 AND ticketid > ".$_newticket["lastnewticketid"]." ORDER BY dateline ASC LIMIT 1") or die(mysql_error()); while($temp = mysql_fetch_array( $data )) {
$_newticket = $temp; } 

$data = mysql_query("SELECT contents FROM  `swticketposts` WHERE ticketpostid =". $_newticket["firstpostid"]) or die(mysql_error()); while($temp = mysql_fetch_array( $data )) $_newticket["messagecontents"] = $temp['contents'];}

У меня есть попытка отредактировать $ _newticket ["firstpostid". "], Но все равно получаю ту же ошибку.

1 Ответ

0 голосов
/ 17 октября 2019

Переменная $_newticket["lastnewticketid"] содержит пустую строку. Поэтому ваше утверждение выглядит так: SELECT .... FROM table WHERE ID > ORDER BY DATELINE ....

Если бы вы правильно обрабатывали ошибки в своем коде, вы могли бы избавить себя от вопроса.

$stmt= "SELECT subject, dateline, ticketid, fullname, departmentid, priorityid, firstpostid  FROM `swtickets` WHERE ticketstatusid = 1 AND ticketid > ".$_newticket["lastnewticketid"]." ORDER BY dateline ASC LIMIT 1";

if (!($data= mysql_query($stmt)))
{
  fwrite(STDERR, "The statement $stmt failed. Error: " . mysql_error());
  exit(1);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...