![](/img/trans.png)
[英]PHP MySQL Query of view returns 0 results when there should be a result
[英]Mysql and PHP LIKE query generates no results on page but returns result in Mysql
我在mysql的一个表上使用多个LiKE查询,该查询是从另一个表生成的,然后发送到Mysql。 实际查询在运行时会生成结果,但是当我在页面上运行它时,它什么也不返回? 其次,必须有一种更简单的方法来使用更少的LIKE命令来运行相同的查询
mysql_query("SELECT FROM fm_sources WHERE title,excerpt LIKE (list of items to query against)")
这是即时消息用于构建查询的代码
function parse_club_search($club)
{
$club="'%".$club."%'";
$club=mysql_query("SELECT * FROM fm_clubs WHERE name LIKE $club");
while($row=mysql_fetch_assoc($club))
{
$search_string=$row['search'];
$search_staff=$row['staff'];
$search_players=$row['players'];
}
$search_string=explode(",",$search_string);
$search_staff=explode(",",$search_staff);
$search_players=explode(",",$search_players);
$full_string=array_merge($search_staff,$search_players,$search_string);
array_pop($full_string);
$full_string_legnth=count($full_string);
$sql_query_holder="";
$array_track=0;
foreach($full_string as $tag)
{
if($array_track!=($full_string_legnth-1))
{
echo $tag."<br/>";
$sql_query_holder=$sql_query_holder." excerpt LIKE '%".$tag."%' OR title LIKE '%".$tag."%' OR";
$array_track++;
}
else
{
$sql_query_holder=$sql_query_holder." excerpt LIKE '%".$tag."%' OR title LIKE '%".$tag."%'";
$array_track++;
}
}
echo $sql_query_holder."<br/><br/>";
$sql_query_holder="\"".$sql_query_holder."\"";
$search=mysql_query("SELECT * FROM fm_sources WHERE $sql_query_holder ORDER BY tweet_count DESC");
这是查询的回显输出,然后在运行时无结果。
摘录类似'%Roy Hodgson%'或标题类似'%Roy Hodgson%'或摘录类似'%Sammy Lee%'或标题摘录'%Sammy Lee%'或摘录类似'%Kenny Dalglish%'或标题像'%Kenny Dalglish%'或摘录,如'%Brad Jones%'或标题,如LIKE'%Brad Jones%',或摘录,如'%Glen Johnson%',或标题,如'%Glen Johnson%',或摘录,如,'%Paul Konchesky%',或标题像'%Paul Konchesky%'或摘录像'%Raul Meireles%'或标题像'%Raul Meireles%'或摘录像'%Daniel Agger%'或标题像'%Daniel Agger%'或摘录像'%Fabio Aurelio %'或标题类似'%Fabio Aurelio%'或摘录类似'%Steven Gerrard%'或标题类似'%Steven Gerrard%'或摘录类似'%Fernando Torres%'或标题类似'%Fernando Torres%'或摘录类似'%Joe Cole%'或标题类似'%Joe Cole%'或节选类似'%Daniel Pacheco%'或标题类似'%Daniel Pacheco%'或节选类似'%Milan Jovanovic%'或标题类似'%Milan Jovanovic% '或摘录,如'%Sotirios Kyrgiakos%'或标题,如摘录'%Sotirios Kyrgiakos%'或摘录,如'%M axi Rodriguez%'或标题类似'%Maxi Rodriguez%'或节选类似'%Dirk Kuyt%'或标题类似'%Dirk Kuyt%'或节选类似'%Ryan Babel%'或标题类似'%Ryan Babel%'OR摘录喜欢'%Lucas%'或标题赞'%Lucas%'或摘录喜欢'%Danny Wilson%'或标题喜欢'%Danny Wilson%'或摘录喜欢'%Jamie Carragher%'或标题喜欢'%Jamie Carragher% '或摘录类似'%David NGog%'或称谓类似'%David NGog%'或摘录类似'%Pepe Reina%'或称谓类似'%Pepe Reina%'或摘录类似'%Jay Spearing%'或称赞类似' %Jay Spearing%'或类似LIKE'%Christian Poulsen%'或标题LIKE'%Christian Poulsen%'或标题LIKE'%Charles Itandje%'或标题LIKE'%Charles Itandje%'或标题LIKE'%Stephen Darby%'或标题类似'%Stephen Darby%'或节选类似'%Jonjo Shelvey%'或标题类似'%Jonjo Shelvey%'或标题类似'%Martin Kelly%'或标题类似'%Martin Kelly%'或标题类似'%史蒂文·欧文%'或头衔喜欢'%史蒂文·欧文%'或摘录象'%Martin Skrtel%'或头衔像'%Martin Skrt el%'或摘录类似'%Nathan Eccleston%'或标题类似'%Nathan Eccleston%'或摘录类似'%Daniel Ayala%'或标题像'%Daniel Ayala%'或摘录类似'%Martin Hansen%'或标题像'%Martin Hansen%'或摘录像'%Peter Gulacsi%'或标题像'%Peter Gulacsi%'或摘录像'%Dean Bouzanis%'或标题像'%Dean Bouzanis%'或摘录像'%Victor Palsson %'或标题类似'%Victor Palsson%'或摘录类似'%Tom Ince%'或标题类似'%Tom Ince%'或摘录类似'%David Amoo%'或标题类似'%David Amoo%'或摘录类似'%Andre Wisdom%'或标题类似'%Andre Wisdom%'或节选类似'%Gerardo Bruna%'或标题类似'%Gerardo Bruna%'或节选类似'%Jack Robinson%'或标题类似'%Jack Robinson% '或摘录类似'%liverpool%'或标题类似'%liverpool%'或摘录类似'%lfc%'或标题类似'%lfc%'
问题是这一行:
$sql_query_holder="\"".$sql_query_holder."\"";
您的脚本不会输出整个查询,只是一部分查询,然后进行修改。 难怪你看不到出什么问题了。
它正在运行的查询实际上是:
SELECT * FROM fm_sources WHERE "excerpt LIKE '%Roy Hodgson%' OR title LIKE '%Roy Hodgson%' <etc etc> " ORDER BY tweet_count DESC
您不需要那些多余的逗号
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.