За последние 24 часа нас посетили 59235 программистов и 1841 робот. Сейчас ищут 895 программистов ...

Помогите с ошибкой в запросе

Тема в разделе "PHP и базы данных", создана пользователем SiUna, 1 май 2012.

  1. SiUna

    SiUna Активный пользователь

    С нами с:
    1 апр 2012
    Сообщения:
    41
    Симпатии:
    0
    У меня есть список, который создается исходя из данных в базе, после нажатия должен выполнятся запрос с выбранным параметром из списка. Проблема что там значения через дефис например "СО-80", выдает ошибку
    Unknown column 'СО' in 'where clause'
    Код (Text):
    1.  
    2. <?php
    3. $group = $_POST['group'];
    4. $c=mysql_connect("localhost","root", "") or die ("Нет соединения с базой данных");
    5. mysql_query("SET NAMES 'utf8'");
    6. mysql_select_db("xml_book",$c) or die ("Нет доступа к базе данных пользователя");
    7.  
    8. $query2 = mysql_query("select cb_group from jos_comprofiler WHERE cb_group IS NOT NULL GROUP BY cb_group");
    9. $number2 = mysql_numrows($query2);
    10.  
    11. echo '<p align="left"> <b>Выберите группу:</b></p>';
    12. ?>
    13. <form method='post'>
    14. <select name="group" title ="Выберите группу">
    15. <?
    16. for ($i = 0; $i <= $number2; $i++)
    17. {
    18. $row2 = mysql_fetch_assoc($query2);
    19. echo '<option value='.$row2['cb_group'].'>'.$row2['cb_group'].'</option>';
    20. }
    21. ?>
    22. </select>
    23.  <input name="ok" type='submit' value='Выбрать'>
    24. </form>
    25.  
    26. <?
    27. if(isset($_POST['ok']))
    28.   {
    29. echo $group; //тут все верно
    30.  
    31. $query = mysql_query("select jos_comprofiler.user_id, jos_comprofiler.firstname, jos_comprofiler.middlename, jos_comprofiler.lastname, jos_comprofiler.cb_group, resulttest.result, resulttest.lastvisit, resulttest.user_id from jos_comprofiler join resulttest on resulttest.user_id=jos_comprofiler.user_id WHERE jos_comprofiler.cb_group=".mysql_real_escape_string($group)) or die (mysql_error()); // Выдает ошибку указанную выше
    32. ?>
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    кавычки юзай хоть иногда =)
     
  3. SiUna

    SiUna Активный пользователь

    С нами с:
    1 апр 2012
    Сообщения:
    41
    Симпатии:
    0
    Так выдает такую ошибку:
    Unknown column 'jos_comprofiler.user_id' in 'field list'
    Но такое поле в таблице есть. И вообще проблема не в этом поле, если убрать WHERE то запрос работает
    Код (Text):
    1.  
    2. $query = mysql_query("select jos_comprofiler.user_id, jos_comprofiler.firstname, jos_comprofiler.middlename, jos_comprofiler.lastname, jos_comprofiler.cb_group, resulttest.result, resulttest.lastvisit, resulttest.user_id from jos_comprofiler join resulttest on resulttest.user_id=jos_comprofiler.user_id WHERE `jos_comprofiler.cb_group`=".mysql_real_escape_string($group)." GROUP BY resulttest.user_id ORDER BY `result` desc") or die (mysql_error());
    Ошибка Unknown column 'jos_comprofiler.cb_group' in 'where clause'
    Такая колонка есть в таблице, в ней значения вида "СО-82" через дефис которые

    Добавлено спустя 20 минут 4 секунды:
    Сделала вот так:
    Код (Text):
    1.  
    2.  
    3. $group1=mysql_real_escape_string($group);
    4.  
    5. $query = mysql_query("select jos_comprofiler.user_id, jos_comprofiler.firstname, jos_comprofiler.middlename, jos_comprofiler.lastname, jos_comprofiler.cb_group, resulttest.result, resulttest.lastvisit, resulttest.user_id from jos_comprofiler join resulttest on resulttest.user_id=jos_comprofiler.user_id WHERE jos_comprofiler.cb_group='$group1' GROUP BY resulttest.user_id ORDER BY `result` desc") or die (mysql_error());
    Работает =) Читаю разные статьи и форумы, а все на самом деле проще, а там тока усложняют-_-
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Код (Text):
    1.  
    2. SELECT
    3.   `jos_comprofiler`.`user_id`,
    4.   `jos_comprofiler`.`firstname`,
    5.   `jos_comprofiler`.`middlename`,
    6.   `jos_comprofiler`.`lastname`,
    7.   `jos_comprofiler`.`cb_group`,
    8.   `resulttest`.`result`,
    9.   `resulttest`.`lastvisit`,
    10.   `resulttest`.`user_id`
    11.  
    12. FROM `jos_comprofiler`
    13. JOIN `resulttest` ON `resulttest`.`user_id`=`jos_comprofiler`.`user_id`
    14. WHERE `jos_comprofiler`.`cb_group`='$group1'
    15. GROUP BY `resulttest`.`user_id`
    16. ORDER BY `result` DESC
    типтого
     
  5. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    не только кавычки юзай иногда и хоть изредка читай текст ошибки. гуглтранслейт в помощь