![](/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.