2012-04-13 75 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