Перейти к содержимому

Сервис обмена электронных валют


Вывод страницы из БД

#1 FordogeN

FordogeN
  • Пользователь
  • 1 414 сообщений
  • Репутация: 0
0

Отправлено 09 Июль 2009 - 15:08

Сразу говорю - я не тестил, но вроде все правильно.
<?php
// Соединяемся с БД

$page=$_GET['page'];  // Получаем id страницы и заносим в переменную
$type=$_GET['type'];   // Получаем имя таблицы из которой будем выводить и заносим в переменную
$result = mysql_query("SELECT * FROM '$type' WHERE id='$page';",$mysql_connect) or die("error");  // Запрос к БД
$myrow = mysql_fetch_array($result); 

echo $myrow['content'];  // Выводим поле content  из выбранных таблицы и строки

?>

Допустим это все будет в файле index.php.
При таком URL: index.php?type=news&id=1 мы выведем из таблицы news запись (строку) c ID=1

Расписываю запрос к БД
SELECT * Говорим "Выбрать все поля"
FROM '$type' из таблицы которая передается в переменной $type
WHERE id='$page' где поле ID=Значению переменной $page
; точка-запятая всегда должна быть в конце запроса

 

 

  • 0

Как настроить выдержку и диафрагму зеркального фотоаппарата



robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Вывод информации из базы данных
  2. Обработка PHP-кода - полученного из базы данных
  3. Загрузка картинок на сайт, добавление в БД и вывод её из БД
  4. Вопрос по выводу данных из бд
  5. Запрос на вывод категорий из базы данных

#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 10 Июль 2009 - 15:12

Взлом кода fordogen. Можно воспользоваться SQL-инъекцией. Писать код инъекции не буду. Просто скажу что все переменные которые можно подменить нужно проверять. А так же надо проверять, вообще есть ли записи в таблице.
Вот мой код:
?php

// Соединяемся с БД

$page = intval($_GET['page']);  // Получаем id страницы и заносим в переменную
$type = mysql_escape_string($_GET['type']);   // Получаем имя таблицы из которой будем выводить и заносим в переменную
$sql = "SELECT `*` FROM `{$type}` WHERE `id`={$page} LIMIT 1";
$result = mysql_query($sql);
if(!mysql_num_rows($result)) $myrow = "Нет запрашиваемых данных в таблице";
else $myrow = mysql_fetch_array($result);

if(!empty($myrow['content'])) echo $myrow['content'];  // Выводим поле content  из выбранных таблицы и строки
else echo $myrow;

?>

  • 0

#3 FordogeN

FordogeN
    Topic Starter
  • Пользователь
  • 1 414 сообщений
  • Репутация: 0

Отправлено 10 Июль 2009 - 15:39

ZiTosS, спасибо. Я еще с защитой от инъекций не совсем разобрался.
  • 0

Как настроить выдержку и диафрагму зеркального фотоаппарата



#4 WebKiD

WebKiD
  • Пользователь
  • 27 сообщений
  • Репутация: 0

Отправлено 14 Июль 2009 - 01:00

Спасибо ZiTosS и FordogeN, полезный скриптик!
  • 0

#5 Troy

Troy
  • Пользователь
  • 18 сообщений
  • Репутация: 0

Отправлено 23 Июль 2009 - 18:14

не та тема
  • 0

#6 a.graphics

a.graphics
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 24 Июль 2009 - 17:25

хоть убей..не пойму в чем сила этой махинации? `{$type}` я про скобки {


  • 0

#7 FordogeN

FordogeN
    Topic Starter
  • Пользователь
  • 1 414 сообщений
  • Репутация: 0

Отправлено 25 Июль 2009 - 09:29

эт чтоб переменные не смешивались с чем либо еще.


  • 0

Как настроить выдержку и диафрагму зеркального фотоаппарата




Оформление форума – IPBSkins.ru