У меня есть список, который создается исходя из данных в базе, после нажатия должен выполнятся запрос с выбранным параметром из списка. Проблема что там значения через дефис например "СО-80", выдает ошибку Unknown column 'СО' in 'where clause' Код (Text): <?php $group = $_POST['group']; $c=mysql_connect("localhost","root", "") or die ("Нет соединения с базой данных"); mysql_query("SET NAMES 'utf8'"); mysql_select_db("xml_book",$c) or die ("Нет доступа к базе данных пользователя"); $query2 = mysql_query("select cb_group from jos_comprofiler WHERE cb_group IS NOT NULL GROUP BY cb_group"); $number2 = mysql_numrows($query2); echo '<p align="left"> <b>Выберите группу:</b></p>'; ?> <form method='post'> <select name="group" title ="Выберите группу"> <? for ($i = 0; $i <= $number2; $i++) { $row2 = mysql_fetch_assoc($query2); echo '<option value='.$row2['cb_group'].'>'.$row2['cb_group'].'</option>'; } ?> </select> <input name="ok" type='submit' value='Выбрать'> </form> <? if(isset($_POST['ok'])) { echo $group; //тут все верно $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()); // Выдает ошибку указанную выше ?>
Так выдает такую ошибку: Unknown column 'jos_comprofiler.user_id' in 'field list' Но такое поле в таблице есть. И вообще проблема не в этом поле, если убрать WHERE то запрос работает Код (Text): $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): $group1=mysql_real_escape_string($group); $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()); Работает =) Читаю разные статьи и форумы, а все на самом деле проще, а там тока усложняют-_-
Код (Text): 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 типтого