Подскажите пожалуйста, почему не работает запрос? Код (PHP): $final = $_POST['final']; $db = mysql_connect("localhost","root", "") or die ("Нет соединения с базой данных"); mysql_query("SET NAMES 'cp1251'"); mysql_select_db("xml_book",$db) or die ("Нет доступа к базе данных пользователя"); $query = mysql_query("select jos_comprofiler.user_id, jos_comprofiler.firstname, jos_comprofiler.middlename, jos_comprofiler.lastname, jos_comprofiler.cb_group, jos_session.username from jos_comprofiler join jos_session on jos_comprofiler.user_id=jos_session.userid and jos_session.guest=0"); $row = mysql_fetch_assoc($query); $k = $row['username']; $user_id = $row['user_id']; $lastname = $row['lastname']; $middlename = $row['middlename']; $firstname = $row['firstname']; $group = $row['cb_group']; $result = $final; echo $k, $user_id, $lastname, $middlename, $firstname, $group."<br />"; echo $result; //Проверяю, тут все выводится правильно $query2 = mysql_query("INSERT INTO resulttest SET user_id='$user_id', lastname='$lastname', group='$group', result='$result'") or die (mysql_error()); echo $query2; if ($query2 == 'true') { echo "<font color='green'><br />Результаты сохранены успешно!</font><br />"; } else { echo "<font color='red'><br />Результаты не были сохранены!</font><br />"; } В запросе $query2 ошибка: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group='', result=''' at line 1
дык запрс какой получился - посмотри. вдруг там косяк. Добавлено спустя 1 минуту 53 секунды: кстати с массивом можно так же работать, как и с переменными. не обязательно каждый член массива пихать в отдельную переменную. Добавлено спустя 1 минуту 48 секунд: group в кавычки возми обратные, вот что =) и вобще все поля надо брать в кавычки `такие` чтобы не было пересечений с командами самого мускула. а GROUP это как раз такой случай.
не помогает) думаю там дело не в кавычках, первые то 2 поля нормально определяет. Код (Text): $query2 = mysql_query("INSERT INTO resulttest SET user_id='$user_id', lastname='$lastname', group=`$group`, result='$result'") or die(mysql_error()); Код (Text): $query2 = mysql_query("INSERT INTO resulttest SET user_id='$user_id', lastname='$lastname', group=\"$group\", result='$result'") or die(mysql_error()); И так и так попробовала. Поэтому и незнаю в чем косяк, ошибку выдает вот такую: Код (Text): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group="", result='3'' at line 1
запрос сам посмотреть, это значит посмотрнть то, что в итоге получилось, а не код, который это делает. еще раз. поле group возмите в обратные кавычки, а значение поля - в прямые `group` = 'lalala' весь запрос переделайте на такой манер и назвпние таблицы тоже возмите в косые
Код (Text): "INSERT INTO `resulttest` SET `user_id`='{$user_id}', `lastname`='{$lastname}', `group`='{$group}', `result`='{$result}'";
в итоге он ничего не выдавал, пустая строка была Спасибо помогло, хотя раньше и без этого все работало. Вообще я смотрела примеры готовые вставки в таблицу, и оттуда переделывала. Я уже думала что там проблема в типах данных.