2012-04-13 3 views
0

Хорошо у меня есть этот кодMysql запросов и PHP эхо

<?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'; 
} 




?> 

и я получил эту ошибку "Примечание: Undefined индекс: идентификатор в C: \ XAMPP \ HTDOCS \ madeinusa \ search.php в строке 20" и это строка 20: «$ ff. =« Посмотреть полный »; и я не знаю, в чем проблема. я думаю, что на самом деле проблема с запросом или при отображении схемы записей. надеюсь, что кто-то может помочь, я открою любые предложения и рекомендации. заранее спасибо.

+0

кстати у вас есть ошибка синтаксиса в вашем закрытия тег был , но я бы предположил, что вы "и" вызывают проблемы, попробуйте вторя, что само собой – ChelseaStats

+0

я предлагаю вам сделать некоторые из них. сначала сначала отлаживайте себя. Прежде всего, 'var_export' содержимое' $ row' где-то - файл журнала, или если все остальное не удается, браузер. В этом случае ассоциативный массив '$ row' не содержит элемент в ключе '' id'', что именно то, о чем вам сообщает сообщение об ошибке. – tdammers

+0

Также обратите внимание, что ваш код имеет уязвимости XSS. Все, что мне нужно сделать, это добавить изображение в базу данных, содержащую тег скрипта в его определении. – tdammers

ответ

2

Это просто уведомление, что вам не хватает значение id из $row массива, так как вы не включили его в свой выберите

попробуйте добавить 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

спасибо, это работает. –

+0

да, спасибо. я пропустил что-то вокруг своего кода, и именно это я забыл –

0

Вы должны указать столбец id в выбранном вами запросе

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

Да, спасибо. я пропустил что-то вокруг своего кода, и именно это я забыл –

0

Я думаю, ваша ошибка здесь:

$row['id'] 

Вы не выбрали id в запросе. Измените его на:

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

Да, спасибо. я пропустил что-то вокруг своего кода, и именно это я забыл. –

Смежные вопросы