php - SQL 语法错误 ZF1

标签 php sql zend-framework

我遇到了一个错误,但我自己似乎找不到错误。 也许你们中有人知道解决方案。

我的查询:

return $db->fetchAll("SELECT DISTINCT *, 
MATCH(k.naam, k.plaats) 
AGAINST('{$newQ}' 
IN BOOLEAN MODE) 
as score 
FROM klant k 
WHERE MATCH(k.naam, k.plaats) 
AGAINST('{$newQ}' IN BOOLEAN MODE) 
OR code = '{$q}' 
AND bedrijf_id = '{$bedrijf}' 
ORDER BY score DESC LIMIT " . intval($limit));

还有我的错误:

Message: SQLSTATE[42000]: 
Syntax error or access violation: 1064 syntax error, 
unexpected $end, expecting FTS_TERM or FTS_NUMB or '*', 
query was: SELECT DISTINCT *, MATCH(k.naam, k.plaats) AGAINST('*' IN BOOLEAN MODE) as score FROM klant k WHERE MATCH(k.naam, k.plaats) AGAINST('*' IN BOOLEAN MODE) OR code = '' AND bedrijf_id = '1' ORDER BY score DESC LIMIT 3

查询对我来说完全没问题,有人可以指出我应该查看的位置吗?

最佳答案

我今天遇到了同样的问题。我发现原因是 MATCH() 参数的格式。因此,在您的情况下,导致错误的是您传递给 {$newQ} 的值。

要找出 MATCH() 的语法,请查看:

http://dev.mysql.com/doc/refman/5.6/en/fulltext-boolean.html

关于php - SQL 语法错误 ZF1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25968707/

相关文章:

php - zend_translate 和 zend_locale

php - 在 Magento 中为 links.phtml 列表的 UL 添加一个类

php - else,elseif,else 语句在 php 中不适用于 fwrite

php - header ('Content-type: application/octet-stream' ) 导致 0 字节文件

sql - 如何从表中删除重复添加的日志?

php - 对大型 MySQL 表的多个查询

php - PHP 中的 MySQL 日期比较

php - Paypal IPN PHP 脚本未插入数据库

sql - 创建 SQL 模式 (postgresql)

php - 有人能告诉我使用 Zend Frameworks 而不是简单的 PHP 有哪些优势吗?