我终于在这里创建了我的帐户。你已经帮了我很长时间了,但是这次我在这里找不到答案。Mysqli使用mysql变量错误
我是MySqli中的新成员,我试图运行一个在phpMyAdmin中工作的脚本。
当我尝试使用'mysql变量'时会出现问题。代码和错误如下。
$consulta = "SET @var= (SELECT ticket_id FROM ost_ticket WHERE number = 410037);
SELECT DISTINCT a.number, a.created, b.address,
SELECT DISTINCT title FROM ost_ticket_thread a WHERE a.ticket_id = @var AND a.source LIKE 'API')title,
SELECT DISTINCT body FROM ost_ticket_thread a WHERE a.ticket_id = @var AND a.source LIKE 'API')body,
d.state,
c.body resposta
FROM ost_ticket a
LEFT JOIN ost_user_email b ON b.user_id = a.user_id
LEFT JOIN ost_ticket_thread c ON c.ticket_id = a.ticket_id
LEFT JOIN ost_ticket_status d ON d.id = a.status_id
WHERE a.ticket_id = @var AND c.id = (SELECT MAX(a.id) FROM ost_ticket_thread a WHERE a.ticket_id = @var) ";
$resultado = $MySQLi->query($consulta) OR trigger_error($MySQLi->error, E_USER_ERROR);
$cont = 0;
while ($informacao = $resultado->fetch_object()) {
$data[$cont] = array(
'numprot' => $informacao->number,
'email' => $informacao->address,
'assunto' => $informacao->title,
'status' => $informacao->state,
'body' => $informacao->body,
'resposta' => $informacao->resposta,
'dtcriacao' => $informacao->created,
);
$cont++;
}
echo "{'lista':".json_encode($data)."}";
正如我所说,它在phpMyAdmin中工作正常,但我得到了mysqli查询函数中的后续错误。
Fatal error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT distinct a.number,a.created,b.address, (select distinct title from ost_t' at line 3 in /home/u605553750/public_html/JSONResposta.php on line 22
在
$resultado = $MySQLi->query($consulta) OR trigger_error($MySQLi->error, E_USER_ERROR);
What's对mysqli的运行它以正确的方式行22场比赛?
感谢 布鲁诺
当您复制并粘贴在你的PHP管理这个SQL查询它执行?看起来你有拼写错误,但我不知道'MariaDB'是否允许:'b.address,(另一个选择)x' ...另外,将SQL命令保持为大写字母,使维护更容易被认为是好的做法 – Bonatti
It确实有效。我把它编码在phpMyAdmin上。 –
我认为问题在于使用“SET @var = ...”和“;”到底。 –