Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对()使用MATCH()时出现MYSQL语法错误_Php_Mysql_Match Against - Fatal编程技术网

Php 对()使用MATCH()时出现MYSQL语法错误

Php 对()使用MATCH()时出现MYSQL语法错误,php,mysql,match-against,Php,Mysql,Match Against,我试图查询一个数据库,以在单独的表中的两列之间找到相关结果,为此,我使用以下代码: $query = "SELECT * FROM $table WHERE MATCH (TITLE) AGAINST ($description) AND ARTIST=$band ORDER BY relevance DESC"; $result = mysql_query($query); if (!$result) { die("Result False on line 47

我试图查询一个数据库,以在单独的表中的两列之间找到相关结果,为此,我使用以下代码:

$query = "SELECT * FROM $table WHERE MATCH (TITLE) AGAINST ($description) AND ARTIST=$band ORDER BY relevance DESC";
    $result = mysql_query($query);
    if (!$result) {
        die("Result False on line 47: $result <br>
            Query: $query <br>
            Error: " . mysql_error());
    }
$query=“从$table中选择*,其中匹配(标题)与($description)和艺术家=$band ORDER BY relevance DESC”;
$result=mysql\u query($query);
如果(!$result){
die(“第47行的结果为假:$Result
查询:$Query
错误:“.mysql_Error()); }
正如您可能预料到的那样,错误消息显示说我的MYSQL语法有错误,但我不确定它是什么,任何指针?

对($description)
应该是
对('$description')

ARTIST=$band
应该是
ARTIST='$band'

通过查询处理的任何字符串都需要单引号('),带空格的列名需要反勾(`)

如果
$description
$band
包含任何引号或斜杠,则需要使用转义符将其转义(我还是建议这样做)

此外,您还可以将
die
语句合并到查询行中:

$result = mysql_query($query) or die(
"Result False on line 47: $result <br>
            Query: $query <br>
            Error: " . mysql_error()
);
$result=mysql\u query($query)或die(
“第47行的结果为假:$Result
查询:$Query
错误:“.mysql_Error() );
有时,即使语法正确,也会出现此错误,因为某些SQL版本不支持此语法

确保您的MySQL版本是否支持此查询,然后再考虑其他方法