Moonstalker
19.01.2009 - 20:17
Здравствуйте!
есть 2 таблицы:
characters и event.
в таблице characters много столбцов, по этому расписывать не буду, но самые главные - account, name, race, class.
в таблице event такие столбцы: nickname, class, faction, race.
Мне нужно, чтобы на одной странице сначала совершался селект с условием, после этого выявлялась только одна запись(у меня это всё реализовано) и в дальнейшем в переменные заносились бы данные из этой записи.
Собственно, нужно чтобы данные из однойтаблицы переписывались в другую.
Вот код, который я пока успел начиркать, но сразу говорю, он не работает, пишет Query was empty.
PHP |
<?php $name = @$_REQUEST['select']; $id_of_acc = @$_REQUEST['id_acc']; $id_of_acc = $id_of_acc + (-43446354);
include "config.php"; mysql_connect($dbhost, $dbuser, $dbpassword); mysql_select_db($dbname); mysql_query('SET NAMES cp1251;'); $query = mysql_query("SELECT `name`, `class`, `races` FROM `characters` WHERE `name`='$name' and `account`='$id_of_acc'"); $sql= mysql_query($query) or die(mysql_error()); while ($row= mysql_fetch_array($sql)) { $class= $row['class']; $race= $row['races']; } mysql_query("INSERT INTO `event` VALUES ('$realm','$name','$class','$faction','$race','$forum','$event_no');"); mysql_close();
|
Спасибо.
Спустя 1 час, 11 минут, 36 секунд (19.01.2009 - 20:29) FatCat написал(а):
PHP |
mysql_query("INSERT INTO `event` VALUES ('$realm','$name','$class','$faction','$race','$forum','$event_no');"); |
замените на
PHP |
die("INSERT INTO `event` VALUES ('$realm','$name','$class','$faction','$race','$forum','$event_no');"); |
и посмотрите сам запрос...
Спустя 34 минуты, 29 секунд (19.01.2009 - 21:03) Guest написал(а):
Спасибо за то, что обратили внимание на тему!
Заменил вышеупомянутый Вами код, и, как Вы сказали, почистил запрос (кое-что действительно пришлось исправить).
Проблема не решилась, а наобарот перетекла в другую.
Вот текст "ошибки":
Код |
INSERT INTO `event`(`realm`,`nickname`,`class`,`faction`,`races`,`forum`,`event_no`) VALUES ('т','е','с','т','1','2','3'); |
Я так понял, запрос в базу не совершился, т.к. интерпритатор php не понял, что это вообще запрос в базу.
Уважаемый Администратор, не могли бы Вы пальцем тыкнуть на место ошибки в коде.
Ещё раз искренне благодарю!
Спустя 2 часа, 48 минут, 7 секунд (19.01.2009 - 23:51) Guest написал(а):
Спустя 9 часов, 38 минут, 49 секунд (20.01.2009 - 09:30) sergeiss написал(а):
Предложение написать die(....) было сделано для того, что ты посмотрел сам запрос, его текст
Для формирования запроса надо использовать mysql_query(....).
Также обрати внимание, что целые величины в запросе не надо заключать в кавычки.
Цитата |
Собственно, нужно чтобы данные из одной таблицы переписывались в другую. |
Не совсем понятно, зачем данные туда-сюда гонять, если их можно выбрать из первоначальной таблицы непосредственно когда они нужны.
Спустя 38 минут, 48 секунд (20.01.2009 - 10:09) Sephiroth_Lukaw написал(а):
PHP |
mysql_query("INSERT INTO `event` (`realm`,`nickname`,`class`,`faction`,`races`,`forum`,`event_no`) VALUES ('$realm','$name','$class','$faction',$race,$forum,$event_no)") or die(mysql_error()); mysql_close(); |
Если, по какой-то причине не хотите писать
mysql_error(), проверяйте, как отрабатывает запрос в PHPMyAdmin.
Я думаю проблема в этом
Цитата ("Moonstalker") |
в таблице event такие столбцы: nickname, class, faction, race. |
т.е. нету полей в таблице(поле realm, к примеру).