MySQL服务器版本的错误手册,以获取使用near'-1%'';限额18446744073709551615';在1号线

MySQL服务器版本的错误手册,以获取使用near'-1%'';限额18446744073709551615';在1号线,mysql,syntax,adodb-php,Mysql,Syntax,Adodb Php,突然出现SQL语法错误: 突然出现SQL语法错误“您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解在第1行使用接近“-1%”限制18446744073709551615'的正确语法 // begin Recordset $suggestParam__colours = '-1'; if (isset($_GET['suggest1_choice'])) { $suggestParam__colours = $_GET['suggest1_choice']; } $quer

突然出现SQL语法错误:

突然出现SQL语法错误“您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解在第1行使用接近“-1%”限制18446744073709551615'的正确语法

// begin Recordset
$suggestParam__colours = '-1';
if (isset($_GET['suggest1_choice'])) {
  $suggestParam__colours = $_GET['suggest1_choice'];
}
$query_colours = sprintf("SELECT colour_name FROM colours WHERE colour_name LIKE '%s'", GetSQLValueString($suggestParam__colours . "%", "text"));
$colours = $autocomplete->SelectLimit($query_colours) or die($autocomplete->ErrorMsg());
$totalRows_colours = $colours->RecordCount();
// end Recordset 

下面是基于adodb php源代码的selectLimit的语法

当您没有提供$nrows参数时,它将默认为-1,当参数为-1时,函数将分配18446744073709551615作为$nrows值(这是您没有提供该参数时的默认值)


18446744073709551615是用于检索所有行的最大无符号64位整数

,您至少需要告诉我们a)
$suggestParam_ucolors
,b)GetSQLValueString($suggestParam_ucolors.“%,”text”)的值。另外:看起来您正在使用ADODb php?您不应该通过直接复制到SQL查询字符串来使用来自
$\u GET
或任何其他外部源的内容。您应该使用一个查询参数,该参数将内容作为一个参数组合在一起,不会有语法错误的风险。看见
SelectLimit($sql, $nrows = -1, $offset = -1, $inputarr = false, $secs = 0)