Ошибка в mysql

(Ответов: 8, Просмотров: 411)
  1. Banned
    • Регистрация: 03.03.2012
    • Сообщений: 163
    • Репутация: 11
    Всем привет! Посмотрите свежим глазом - где тут ошибка:

    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';
                      } 
    А то я уже не вижу нифига))). Не выводится выборка
    • 0
  2. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    '$base' кавычки поменяй на опострофы ` либо конкатерацию ставь
    $res = mysql_query("SELECT ('*') FROM '.$base.' "); либо вообще без ничего, но правильнее всего имхо
    $res = mysql_query("SELECT ('*') FROM `".$base."` ");


    ПС: убери вот это чудо ('*') из запросов всех твоих
    Последний раз редактировалось cOAPerator; 12.07.2013 в 20:07.
    • 1

    Спасибо сказали:

    furian(13.07.2013),
  3. Banned
    • Регистрация: 03.03.2012
    • Сообщений: 163
    • Репутация: 11
    cOAPerator, ))) Это чудо я поставил для примера)))) Чудо! Ну ты даешь))))
    • 0
  4. Sapienti sat Аватар для brainix
    • Регистрация: 01.01.2013
    • Сообщений: 1,925
    • Записей в дневнике: 1
    • Репутация: 817
    • Webmoney BL: ?
    Цитата Сообщение от furian Посмотреть сообщение
    А то я уже не вижу нифига))). Не выводится выборка
    Конечно не выводится. Здесь нет ее вывода, в переменную $row результат внесли, а где-нибудь ее вывести забыли, если только это не в статусе происходит, но тогда и код оттуда нужен с этой переменной.
    • 0
  5. Студент
    • Регистрация: 24.01.2013
    • Сообщений: 94
    • Репутация: 14
    • Webmoney BL: ?
    Вот чтобы такое не городить:

    PHP код:
     if($id_ch == 1)
       {
        
    $base "status";    
        } 
       elseif(
    $id_ch == 2)
       {
        
    $base 'demot';
       }   
       elseif(
    $id_ch == 3)
       {
        
    $base 'prikol';
        }
        echo 
    $base
    Можно использовать массив.

    PHP код:
    $_list = array(=> 'status'=> 'demot'=> '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() использовать дурно, смотрите в сторону исключений

    Правда mysql_ уже давно моветон.

    И еще, обязательно начните использовать шаблонизатор, для того чтобы отделить PHP-код от шаблонов отображения. См. в сторону Smarty, Twig.
    • 1

    Спасибо сказали:

    furian(13.07.2013),
  6. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    Цитата Сообщение от furian Посмотреть сообщение
    Это чудо я поставил для примера))))
    ну мало ли ) я ж не знаю, мож ты постоянно так пишешь )))

    Цитата Сообщение от ap0stal Посмотреть сообщение
    Правда mysql_ уже давно моветон.
    че прикалываешься что ли ? фейсбук работает на ней, при пятистамилионной аудитории...
    в каком месте она устарела то? наоборот развивается.. вон скоро 5,6 уже выйдет версия
    Последний раз редактировалось cOAPerator; 13.07.2013 в 09:40.
    • 0
  7. Студент Аватар для bestxp
    • Регистрация: 21.04.2011
    • Сообщений: 91
    • Репутация: 29
    • Webmoney BL: ?
    ap0stal, для отделения логики от отображения не нужны smarty и twig . их наличие порой даже лишнее, главное не пихать в шаблоны обращения к бд и прочим вещам типа супермассивов

    cOAPerator,

    он прав mysql_query уже умерло, в новой версии php уже нет этого,

    Используй pdo или mysqli для доступа к бд,

    ps фейсбук использует mysql, но код у них совершенно другой, хотя mysql умирает уже, Оракл убивает конкурента своему основному продукту, и выпиливает всё что можно из БД, в замен используйте форки типа mariaBD которая кстати с новых версий debian openSUSE будет идти по умолчанию, скорее всего даже в ubuntu
    Последний раз редактировалось bestxp; 15.07.2013 в 11:45.
    • 0
  8. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    Цитата Сообщение от bestxp Посмотреть сообщение
    он прав mysql_query уже умерло
    сори недопонял, я про базу подумал, так как ap0stal наприсал просто mysql_
    а mysql_query да, уже deprecated
    • 0
  9. Дипломник
    • Регистрация: 15.07.2013
    • Сообщений: 189
    • Репутация: 43
    • Webmoney BL: ?
    Лучше всего сначала запросы к базе тестировать в phpMyAdmin (с какими-нибудь подстановочными значениями), там сразу видно, где и какая ошибка. Когда протестировали - уже можно использовать в живом скрипте.

    Согласен с предыдущими ораторами - mysql стал deprecated, сразу начинайте с mysqli , чтобы потом не перекапывать весь свой огород, как это было у нас. :-)
    • 0

Тэги топика:

Похожие темы

Темы Раздел Ответов Последний пост
Ошибка при добавлении инфы в базу 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

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры