Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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 mysql全文查询刚刚赢得';行不通_Php_Mysql - Fatal编程技术网

Php mysql全文查询刚刚赢得';行不通

Php mysql全文查询刚刚赢得';行不通,php,mysql,Php,Mysql,把我的头发拔出来,想弄清楚这里出了什么问题 创建表查询: CREATE TABLE search_data ( id INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , address VARCHAR( 250 ) NOT NULL , title VARCHAR( 250 ) NOT NULL , time_stamp TIMESTAMP NOT NULL, FULLTEXT (title) ) ENGINE

把我的头发拔出来,想弄清楚这里出了什么问题

创建表查询:

CREATE TABLE search_data (
    id INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    address VARCHAR( 250 ) NOT NULL ,
    title VARCHAR( 250 ) NOT NULL ,
    time_stamp TIMESTAMP NOT NULL,
    FULLTEXT (title) 
) ENGINE = MYISAM
要搜索的查询代码:

$query = " SELECT * FROM search_data WHERE MATCH (title) AGAINST ('feedback')" ;
$result = mysql_query($query, $connection);
confirm_query($result) ;

while ( $row = mysql_fetch_array($result) )
{
   echo "FOUND DATA- " . $row['address'] ; 
}
该表的内容如下: 由于某种原因,这不起作用(没有输出)。我就是不明白为什么。请帮忙

编辑: 确认查询:

function confirm_query($result_set) 
{
    if (!$result_set) 
    {
       die("Database query failed: " . mysql_error());
    }
}
Edit2:在手动运行sql查询时:我得到“MySQL返回了一个空结果集(即零行)。”
我检查了区分大小写的问题,但得到的是同样的问题你的桌子有多大<代码>全文索引在小样本量上不是很有效

预计到达时间:


添加几千个随机行。确保它们是合理不同的。全文不会发现超过50%的条目中的单词。然后重新运行查询。我敢打赌它会成功。

前几天我挂断了Mysql搜索的最小长度(默认为4个字符。任何小于4的都不会返回结果)。更多信息请参见我的帖子:

更新: 我发现添加搜索修饰符“在布尔模式下”允许查询返回测试结果:

SELECT * FROM search_data WHERE MATCH (title) AGAINST ('feedback' IN BOOLEAN MODE);

将:
或die(mysql_error())
添加到每个尝试连接/执行查询的语句中。这样您至少可以看到错误。confirm_查询方法负责显示任何错误。我现在没有收到任何错误。什么是
confirm\u query()
?您确定要对同一数据库连接进行查询吗?一个是
mysql\u query(…)
,一个是
mysql\u query(…,$connection)
,它不是很熟悉全文,但是如果使用_-bin字符集,它会区分大小写。您尝试过手动运行查询吗?返回数据表明PHP代码有问题。在任何一个地方都没有得到任何反馈意味着你的查询有问题,或者你的数据库中没有标题为“反馈”的记录。@Tomalak Geret'kal:我考虑过了。但是他的查询不起作用的原因并不是因为他的查询。这是因为他的表格中缺少行。@dnagirl:即使不是非常有效,索引肯定仍然存在?@Tomalak Geret'kal:索引存在,但里面什么都没有。@user161179:我根据你的评论扩展了我的答案。@dnagirl:你能为“全文不会发现超过50%条目中的单词”提供一个引证吗好电话。该死的菜鸟!