SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 04.12.2012 16:47:47

Black_Elk
Участник
Зарегистрирован: 04.12.2012
Сообщений: 9

помогите изменить запрос

т.к. сам имею маленькое представление, что тут происходит, то прошу помощи у вас smile
имеем запрос
$sql = "SELECT wc3_player.player_id, wc3_player_race.race_id, wc3_player_race.race_xp, wc3_web_race.race_name, wc3_player_extra.player_name FROM wc3_player INNER JOIN wc3_player_race ON wc3_player.player_id = wc3_player_race.player_id INNER JOIN wc3_web_race ON wc3_player_race.race_id = wc3_web_race.race_id INNER JOIN wc3_player_extra on wc3_player.player_id = wc3_player_extra.player_id WHERE wc3_player_race.race_xp > 0 AND wc3_web_race.race_lang = '$config->lang'" . ( $_SESSION['race_id'] != -1 ? " AND wc3_player_race.race_id = '" . $_SESSION['race_id'] . "'" : '' ) . " ORDER BY race_xp DESC";

потом я добавил в таблицу wc3_player_race колонку player_dn
значения в этой колонке принимают значения 1 и 0
хотелось бы на выходе отсеять тех у кого стоит 1

заранее спасибо

Неактивен

 

#2 04.12.2012 18:54:20

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: помогите изменить запрос

$sql = "SELECT wc3_player.player_id, wc3_player_race.race_id, wc3_player_race.race_xp, wc3_web_race.race_name, wc3_player_extra.player_name FROM wc3_player INNER JOIN wc3_player_race ON wc3_player.player_id = wc3_player_race.player_id INNER JOIN wc3_web_race ON wc3_player_race.race_id = wc3_web_race.race_id INNER JOIN wc3_player_extra on wc3_player.player_id = wc3_player_extra.player_id WHERE wc3_player_race.player_dn = 0 AND wc3_player_race.race_xp > 0 AND wc3_web_race.race_lang = '$config->lang'" . ( $_SESSION['race_id'] != -1 ? " AND wc3_player_race.race_id = '" . $_SESSION['race_id'] . "'" : '' ) . " ORDER BY race_xp DESC";

Неактивен

 

#3 04.12.2012 19:16:59

Black_Elk
Участник
Зарегистрирован: 04.12.2012
Сообщений: 9

Re: помогите изменить запрос

спасибо, заработало.
но я понял, почему у меня не работало

запрос из плагина шел таким
    // Save the user's XP!
    new szQuery[512];
    format( szQuery, 511, "REPLACE INTO `wc3_player_race` ( `player_id` , `race_id` , `race_xp` ) VALUES ( '%d', '%d', '%d');", iUniqueID, p_data[id][P_RACE], p_data[id][P_XP] );
    new Handle:query = SQL_PrepareQuery( g_DBConn, szQuery );

    if ( !SQL_Execute( query ) )
    {
        client_print( id, print_chat, "%s Error, unable to save your XP, please contact a server administrator", g_MODclient );

        MYSQLX_Error( query, szQuery, 4 );

        return;
    }

ну и как понимаю, моя последняя колонка затиралась дефолтным значением 0
на что поменять REPLACE INTO  ?  что бы было все ок ?

Отредактированно Black_Elk (04.12.2012 19:37:24)

Неактивен

 

#4 05.12.2012 21:03:01

Black_Elk
Участник
Зарегистрирован: 04.12.2012
Сообщений: 9

Re: помогите изменить запрос

format( szQuery, 511, "INSERT INTO `wc3_player_race` ( `player_id` , `race_id` , `race_xp` ) VALUES ( '%d', '%d', '%d') ON DUPLICATE KEY
UPDATE `race_xp` = '%d';", iUniqueID, p_data[id][P_RACE], p_data[id][P_XP], p_data[id][P_XP]  );

Неактивен

 

#5 01.03.2013 00:14:40

Black_Elk
Участник
Зарегистрирован: 04.12.2012
Сообщений: 9

Re: помогите изменить запрос

аа все, туда же добавил, и заработало вроде smile

Неактивен

 

#6 03.03.2013 05:32:00

Anika85
Участник
Зарегистрирован: 03.03.2013
Сообщений: 4

Re: помогите изменить запрос

У меня проблема с запросом сайт на движе  DLE 9.2, в новых версиях этого движка есть модуль дополнительный вопрос при регистрации, я обновляться не хочу, мне нужно лишь приделать этот модуль. Из новой версии загрузила на сервер файл question.php ну и сделала другие нужные изменения в файлах. В админке сайта появился соответствующий раздел, но при заходе в него выдает ошибку
MySQL Error!
------------------------

The Error returned was:
Table 'eden_lady.dle_question' doesn't exist

Error Number:
1146

SELECT SQL_CALC_FOUND_ROWS * FROM dle_question ORDER BY id DESC

В файле инсталяции движка нашла вот такой код запрос -он якобы отвечает за создание таблицы к этому модулю

$tableSchema[] = "DROP TABLE IF EXISTS " . PREFIX . "_question";
$tableSchema[] = "CREATE TABLE " . PREFIX . "_question (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `question` varchar(255) NOT NULL DEFAULT '',
  `answer` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM /*!40101 DEFAULT CHARACTER SET " . COLLATE . " COLLATE " . COLLATE . "_general_ci */";

Но при запросе выдается ошибка

#1064 - 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 '"DROP TABLE IF EXISTS" . PREFIX . "dle_question"' at line 1

Я новичек в этом деле, что здесь не так?

Отредактированно Anika85 (03.03.2013 05:46:25)

Неактивен

 

#7 03.03.2013 12:01:31

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: помогите изменить запрос

Попробуйте выполнить запрос

CREATE TABLE dle_question (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `question` varchar(255) NOT NULL DEFAULT '',
  `answer` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM /*!40101 DEFAULT CHARACTER SET " . COLLATE . " COLLATE " . COLLATE . "_general_ci */;


Если при выполнении запроса будет выдана ошибка - приложите её сюда.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#8 03.03.2013 12:25:54

Anika85
Участник
Зарегистрирован: 03.03.2013
Сообщений: 4

Re: помогите изменить запрос

Ошибка

#1115 - Unknown character set: ' . COLLATE . '

Неактивен

 

#9 03.03.2013 12:28:15

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: помогите изменить запрос

Угу, тогда упростим немного:

CREATE TABLE dle_question (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `question` varchar(255) NOT NULL DEFAULT '',
  `answer` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#10 03.03.2013 12:37:19

Anika85
Участник
Зарегистрирован: 03.03.2013
Сообщений: 4

Re: помогите изменить запрос

Спасибо! Заработало

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson