2013-06-01 3 views
1

Пытается сделать несколько простых PHP-кодов для начала моего проекта. Я пытаюсь получить информацию о базе данных по введенному URL, но когда я набираю правильный тестовый URL-адрес, он ничего не возвращает. Он выводит как:PHP: Mysql Query не возвращает значение

ID: ДИСКУССИЯ ИМЯ:

И прямо рядом с теми, что они должны иметь значение из базы данных. Но они этого не делают. Так может кто-нибудь мне помочь?

$getdata = mysql_query("SELECT * FROM discussions WHERE urlname ='" . $_SERVER["REQUEST_URI"] . "'") or die(mysql_error()); 
while ($info = mysql_fetch_array($getdata)); 
{ 
Print "<tr>"; 
Print "<th>ID: </th> <td>".$info['id'] . "</td> "; 
Print "<th>DISCUSSION NAME:</th> <td>".$info['discussion'] . "</td> "; 
} 

МОЯ БАЗА INFO: http://i.stack.imgur.com/b89I8.png

enter image description here

+0

Есть ли у '$ _SERVER [" REQUEST_URI "]' конечная косая черта? Кроме того, это огромная дыра в безопасности. Попробуйте использовать mysql_real_escape_string() вокруг вашего сервера. – Scott

+0

Спасибо, что напомнили мне, что это всего лишь тестовый скрипт, поэтому не стоит беспокоиться :) и да, у него есть конечная косая черта –

+1

Хорошо твоя проблема! Поле 'urlname' является просто'/test1' вместо '/ test1 /'. Попробуйте отредактировать его и посмотрите, работает ли он. Либо это, либо '... WHERE urlname = '". $ _SERVER ["REQUEST_URI"]. "/ ...'' – Scott

ответ

2

код имеет плохую полу двоеточие

$getdata = mysql_query("SELECT * FROM discussions WHERE urlname ='" . $_SERVER["REQUEST_URI"] . "'") or die(mysql_error()); 
while ($info = mysql_fetch_array($getdata)); 
{ 
Print "<tr>"; 
Print "<th>ID: </th> <td>".$info['id'] . "</td> "; 
Print "<th>DISCUSSION NAME:</th> <td>".$info['discussion'] . "</td> "; 
} 

эта линия

while ($info = mysql_fetch_array($getdata)); 

должно быть

while ($info = mysql_fetch_array($getdata)) 
+0

Ну, я буду проклят. Ницца! – Scott

+1

Все видят очевидные части .. посмеиваясь. – wazy

+0

.... о мой бог .... я даже не ....... спасибо lol xD –

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