|
|
|
| перехожу по ссылке вида <a href="category.html?id='.$res["id"].'">'.$res["cat"].'</a>
на стр category.html делаю запрос к базе
<?
$result = mysql_query ("SELECT * FROM podcat WHERE id =' $cat '");
$res = mysql_fetch_assoc($result);
{echo ''.$res["title"].'<br>'; }
?>
в базе таблица podcat имеет id - номер , title - название , cat - номер случайный (к примеру 56,1,59,85 и тд.)
Ничего не выводится, в чем дело?
Спасибо!!! | |
|
|
|
|
|
|
|
для: scva
(03.06.2009 в 10:33)
| | Типы не совпадают наверно.
уберите апострофы из запроса
$result = mysql_query ("SELECT * FROM podcat WHERE id = $cat");
|
| |
|
|
|
|
|
|
|
для: scva
(03.06.2009 в 10:33)
| | Кавычки я бы оставил - без них совсем просто юзать сиквел-инъекции.
Для отладки лучше делать так:
<?
$sql = "SELECT * FROM `podcat` WHERE `id`='".$cat."'";
$result = mysql_query( $sql );
?>
|
И всегда можно сказать
и посмотреть, как выглядит ваш запрос. И, например, попробовать его в phpMyAdmin
По выводу - есть несколько вариантов. Можно использовать
<?
while( $row = mysql_fetch_object( $result ) {
echo $row->id."<br />";
echo $row->title."<br />";
}
?>
|
или
<?
while( $row = mysql_fetch_array( $result ) {
echo $row['id']."<br />";
echo $row['title']."<br />";
}
?>
|
| |
|
|
|
|
|
|
|
для: aexb
(03.06.2009 в 10:55)
| | юзать сиквел-инъекции
Это как? | |
|
|
|
|
|
|
|
|
для: aexb
(03.06.2009 в 12:18)
| | Мда... Вы уверены, что от инъекции спасут апострофы?
А в данном случае поле id 99.9% - это цифра, и уж если не предохранятся (с помощью intval например) и "сувать куды попало", то тут "медицина бессильна" | |
|
|
|
|
|
|
|
для: Valick
(03.06.2009 в 12:27)
| | апострофы в том числе. а проверку данных на валидность еще никто не отменял | |
|
|
|
|
|
|
|
для: aexb
(04.06.2009 в 15:45)
| | чушь. | |
|
|
|
|
|
|
|
для: scva
(03.06.2009 в 10:33)
| | когда перейдёшь по ссылке, посмотри что у тебя будет в адресной строке браузера.
а на странице где должны выводиться данные сделай проверку
<?php
if(!isset($_GET['id'])){
echo "Нет переданных данных";
}
?>
|
и в запросе у тебя что то не всё понятно.
если ты подставляешь значение переменной в запрос, то у тебя должно выгладеть так.
перед запросом напиши
<?php
if(isset($_GET['id'])) $id = $_GET['id'];
?>
|
а потом в запросе подставляй уже
"SELECT * FROM podcat WHERE id =' $id '"
|
или
"SELECT * FROM podcat WHERE id =' .$_GET['id'].'"
|
на ни как не надо подставлять $cat | |
|
|
|