Всем привет! Посмотрите свежим глазом - где тут ошибка:
PHP код:А то я уже не вижу нифига))). Не выводится выборка
$id_ch = $_GET['chapt'];
if($id_ch == 1)
{
$base = "status";
}
elseif($id_ch == 2)
{
$base = 'demot';
}
elseif($id_ch == 3)
{
$base = 'prikol';
}
echo $base;
require_once 'config.php';
connect();
$res = mysql_query("SELECT ('*') FROM '$base' ");
if (!$res){
die('Data Base error '.mysql_error());
}
else
{
$row = mysql_fetch_array($res);
include'temp/status.php';
}
- 12.07.2013 19:05
- Регистрация: 03.03.2012
- Сообщений: 163
- Репутация: 11
- 12.07.2013 19:53
'$base' кавычки поменяй на опострофы ` либо конкатерацию ставь
$res = mysql_query("SELECT ('*') FROM '.$base.' "); либо вообще без ничего, но правильнее всего имхо
$res = mysql_query("SELECT ('*') FROM `".$base."` ");
ПС: убери вот это чудо ('*') из запросов всех твоихПоследний раз редактировалось cOAPerator; 12.07.2013 в 20:07.
Спасибо сказали:
furian(13.07.2013), - 12.07.2013 20:43
- Регистрация: 03.03.2012
- Сообщений: 163
- Репутация: 11
cOAPerator, ))) Это чудо я поставил для примера)))) Чудо! Ну ты даешь))))
- 12.07.2013 20:54
- 13.07.2013 00:16
Вот чтобы такое не городить:
PHP код:Можно использовать массив.if($id_ch == 1)
{
$base = "status";
}
elseif($id_ch == 2)
{
$base = 'demot';
}
elseif($id_ch == 3)
{
$base = 'prikol';
}
echo $base;
PHP код:Правда mysql_ уже давно моветон.$_list = array(1 => 'status', 2 => 'demot', 3 => 'prikol');
if(array_key_exists($_GET['chapt'])){
// полезный код
$query = mysql_query('SELECT * FROM `'.$_list[$_GET['chapt']].'`');
if(mysql_num_rows($query){
while($data = mysql_fetch_assoc($query)){
// выводим данные
}
} else {
// записей нет
}
} else {
throw new CHttpException(); // die() использовать дурно, смотрите в сторону исключений
}
И еще, обязательно начните использовать шаблонизатор, для того чтобы отделить PHP-код от шаблонов отображения. См. в сторону Smarty, Twig.Спасибо сказали:
furian(13.07.2013), - 13.07.2013 09:34
Последний раз редактировалось cOAPerator; 13.07.2013 в 09:40.
- 15.07.2013 11:41
ap0stal, для отделения логики от отображения не нужны smarty и twig . их наличие порой даже лишнее, главное не пихать в шаблоны обращения к бд и прочим вещам типа супермассивов
cOAPerator,
он прав mysql_query уже умерло, в новой версии php уже нет этого,
Используй pdo или mysqli для доступа к бд,
ps фейсбук использует mysql, но код у них совершенно другой, хотя mysql умирает уже, Оракл убивает конкурента своему основному продукту, и выпиливает всё что можно из БД, в замен используйте форки типа mariaBD которая кстати с новых версий debian openSUSE будет идти по умолчанию, скорее всего даже в ubuntuПоследний раз редактировалось bestxp; 15.07.2013 в 11:45.
- 15.07.2013 13:11
- 15.07.2013 22:46
Лучше всего сначала запросы к базе тестировать в phpMyAdmin (с какими-нибудь подстановочными значениями), там сразу видно, где и какая ошибка. Когда протестировали - уже можно использовать в живом скрипте.
Согласен с предыдущими ораторами - mysql стал deprecated, сразу начинайте с mysqli , чтобы потом не перекапывать весь свой огород, как это было у нас. :-)
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Ошибка при добавлении инфы в базу mysql | Web программирование | 4 | 07.07.2013 16:25 |
MySQL ошибка хостинга lite-host, на сайте с движком Dle | Хостинг и Серверы | 2 | 05.06.2013 11:43 |
Скрипт комментариев CommentIt Ajax (Mysql + Без mysql) | Софт, скрипты, лицензии | 0 | 01.07.2012 00:59 |
Ошибка MySQL при обновлении DLE 9.6 (из за мода популярные новости) | DLE | 7 | 23.05.2012 00:37 |
Ошибка: Внутренняя ошибка Remote service dnsmgr return error. Code 100 | Вопросы от новичков | 0 | 17.10.2009 23:05 |