2012-04-13 82 views
0

好吧,我有這樣的代碼MySQL查詢和PHP的echo

<?php 
include_once ('database_connection.php'); 

if(isset($_GET['keyword'])){ 
$keyword = trim($_GET['keyword']) ; 
$keyword = mysqli_real_escape_string($dbc, $keyword); 

$query = "select name,title,description,link,type from items where name like '%$keyword%' or title like '%$keyword%' or description like '%$keyword%' or link like  '%$keyword%' or type like '%$keyword%'"; 

//echo $query; 
$result = mysqli_query($dbc,$query); 
if($result){ 
if(mysqli_affected_rows($dbc)!=0){ 
$ff = ""; 
     while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){ 
    $ff .= "<div id='itemdiv2' class='gradient'>"; 
    $ff .= "<div id='imgc'>".'<img src="Images/media/'.$row['name'].'" />'."<br/>"; 
$ff .= "<a href='#?w=700' id='".$row['id']."' rel='popup' class='poplight'>View full<a/></div>"; 
$ff .= "<div id='pdiva'>"."<p id='ittitle'>".$row['title']."</p>"; 
    $ff .= "<p id='itdes'>".$row['description']."</p>"; 
    $ff .= "<a href='".$row['link']."'>".$row['link']."</a>"; 
    $ff .= "</div>"."</div>"; 
    echo $ff; 
} 
}else { 
    echo 'No Results for :"'.$_GET['keyword'].'"'; 
} 

} 
}else { 
echo 'Parameter Missing'; 
} 




?> 

,我得到這個錯誤 「通知:未定義指數:ID在C:\ XAMPP \ htdocs中\ MADEINUSA \ search.php中第20行」 和這是第20行:「$ ff。=」查看完整「;」 和我不知道什麼似乎是問題所在。我認爲實際上查詢或顯示記錄方案存在問題。希望有人可以提供幫助,我可以提供任何建議和建議。提前致謝。

+0

順便說一句,你有你的收盤標籤的語法錯誤是,但我猜你「和」是造成問題,請嘗試呼應了這一點本身 – ChelseaStats 2012-04-13 12:07:16

+0

我建議你做一些。基本上是先調試你自己,最重要的是''var_export''$ row'的內容 - 一個日誌文件,或者其他所有的東西都失敗了,在這種情況下,關聯數組'$ row'不包含一個元素在關鍵字'id'處,這正是錯誤信息告訴你的。 – tdammers 2012-04-13 12:07:22

+0

還要注意你的代碼有XSS漏洞,我要做的就是在數據庫中添加一個包含script標籤的圖像在其定義中。 – tdammers 2012-04-13 12:08:14

回答

2

這僅僅是一個你是從$row陣列缺少id值,因爲你沒有包括您選擇

嘗試在選擇查詢添加id通知:

$query = "select id,name,title,description,link,type from items where name like '%$keyword%' or title like '%$keyword%' or description like '%$keyword%' or link like  '%$keyword%' or type like '%$keyword%'"; 

,它應該工作

+0

謝謝,這個工程。 – 2012-04-13 12:12:09

+0

是的,謝謝。我錯過了我的代碼,這就是我忘了 – 2012-04-13 12:15:33

0

您應該在您的選擇查詢中提及id

$query = "select id, name,title,description,link,type from items... 
+0

是的,謝謝。我錯過了我的代碼,那是什麼,我忘了 – 2012-04-13 12:13:16

0

,我認爲你的錯誤是在這裏:

$row['id'] 

您不要選擇在查詢id。將其更改爲:

select id,name,title,description,link,type from items where ... 
+0

是的,謝謝。我錯過了我的代碼周圍的東西,那是什麼,我忘了。 – 2012-04-13 12:13:00