|
Поисковой запрос в БД
|
|
| Impereal | Дата: Понедельник, 08.08.2011, 19:51 | Сообщение # 1 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
| Вопрос к тем кто очень хорошо знает и работает с mySQL. Нужно сделать запрос что бы узнать в каких строках поле, ну например, AccountName = Вася(их может не быть во обще,а может быть от 1 до 5), что бы далее из этих строк получать информацию.
Желательно поподробнее, так как я с БД не работаю, в моде с бд работает другой человек, но он куда то пропал и не оявляется, а работа стоит. Спасибо!
Прощай самп-рус =Р
Сообщение отредактировал Impereal - Понедельник, 08.08.2011, 19:52 |
| |
|
|
| phpcoder | Дата: Понедельник, 08.08.2011, 20:29 | Сообщение # 2 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 200
Награды: 3
Репутация: 232
Замечания: 0%
Статус: 
| Code SELECT * `ТАБЛИЦА` WHERE `AccountName` = 'Вася';
Покупаю RP/RPG сервера. Бюджет: 30 тыс. руб.
|
| |
|
|
| Impereal | Дата: Понедельник, 08.08.2011, 20:33 | Сообщение # 3 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
| phpcoder, Да это понял, а что дальше? Возможно я спрашиваю бред, но я 0 в SQL,
Прощай самп-рус =Р
|
| |
|
|
| Alcoholik | Дата: Понедельник, 08.08.2011, 20:53 | Сообщение # 4 |
|
Мастер джэдай
Группа:
Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус: 
| $vasya = mysql_fetch_array(mysql_query('SELECT * FROM `table` WHERE `name`= `Вася`')); Написано на пхп, смысл один. Если результат положительный вернёт 1, если нет будет 0. if($vasya) echo ' Вася сцука зареган';Добавлено (08.08.2011, 20:53) --------------------------------------------- А если для сампа, то есть уже готовые функции. Вот пример для плагина sampmysql public MySQLCheckAccount(sqlplayersname[]) // by Luk0r { new query[128]; new escstr[MAX_PLAYER_NAME]; samp_mysql_real_escape_string(sqlplayersname, escstr); format(query, sizeof(query), "SELECT id FROM table WHERE LOWER(Name) = LOWER('%s') LIMIT 1", escstr); samp_mysql_query(query); //if (DEBUG) SQLLog(query); samp_mysql_store_result(); if (samp_mysql_num_rows()==0) { return 0; } else { new strid[32]; new intid; samp_mysql_fetch_row(strid); intid = strval(strid); return intid; } } Проверяется также.
new vasya = MySQLCheckAccount(vasya) if(vasya) return print("Вася сцука зареган");
if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die(); Мониторинг sa:mp серверов Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги. Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
|
| |
|
|
| Impereal | Дата: Понедельник, 08.08.2011, 20:59 | Сообщение # 5 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
| KroN, Понимаешь, это не совсем то что ты подумал, это не так что аккаунты, что может быть только одна строка в который AccountName = Вася! Их может быть 0,а может 5 например. Мне нужно получить как то строки ВСЕ в которых AccountName равно Вася. Что бы потом из этих строк получить значения.
Прощай самп-рус =Р
Сообщение отредактировал Impereal - Понедельник, 08.08.2011, 21:01 |
| |
|
|
| Knief | Дата: Понедельник, 08.08.2011, 21:19 | Сообщение # 6 |
|
Освоившийся
Группа:
Пользователи
Сообщений: 79
Награды: 2
Город: Ульяновск
Репутация: 39
Замечания: 0%
Статус: 
| new qwery[128]; format(qwery,sizeof(qwery),"SELECT lala FROM NAMETAble whereAccountName ='Вася' "); mysql_query(qwery); mysql_store_result(); return mysql_num_rows();
// Вот это покажет сколько встречается запись Вася //Если дословно читать, то я понел, так что тебе нужно узнать в каких полях встречается Вася, т.е знать ид записи бд new vid[10]; // под каждым массивом будет ид записи бд for(new i=1;i<=250;i++){ new qwery[128],row[128]; format(qwery,sizeof(qwery),"SELECT id FROM NAMETAble where AccountName='Вася' "); mysql_query(qwery); mysql_store_result(); if(mysql_fetch_row(row)) vid[I]=row; } }
|
| |
|
|
| Impereal | Дата: Понедельник, 08.08.2011, 21:30 | Сообщение # 7 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
| Quote (Knief) // Вот это покажет сколько встречается запись Вася //Если дословно читать, то я понел, так что тебе нужно узнать в каких полях встречается Вася, т.е знать ид записи бд new vid[10]; // под каждым массивом будет ид записи бд for(new i=1;i<=250;i++){ new qwery[128],row[128]; format(qwery,sizeof(qwery),"SELECT id FROM NAMETAble where AccountName='Вася' "); mysql_query(qwery); mysql_store_result(); if(mysql_fetch_row(row)) vid[I]=row; } } То есть vid[номер] это иды строк в которых поле AccountName = Вася? То есть что бы потом извлечь из этих строк значения других полей я могу использовать иды записаные в vid[...]?
Прощай самп-рус =Р
|
| |
|
|
| Knief | Дата: Понедельник, 08.08.2011, 21:33 | Сообщение # 8 |
|
Освоившийся
Группа:
Пользователи
Сообщений: 79
Награды: 2
Город: Ульяновск
Репутация: 39
Замечания: 0%
Статус: 
| Да, совершенно верно
|
| |
|
|
| Impereal | Дата: Понедельник, 08.08.2011, 21:39 | Сообщение # 9 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
| Зачем тут цикл?Оо И почему именно 250 раз будет выполнятся?
Прощай самп-рус =Р
|
| |
|
|
| Knief | Дата: Понедельник, 08.08.2011, 22:13 | Сообщение # 10 |
|
Освоившийся
Группа:
Пользователи
Сообщений: 79
Награды: 2
Город: Ульяновск
Репутация: 39
Замечания: 0%
Статус: 
| 250 - просто число которое пришло мне в голову у меня лично использовано mysql_num_rows(); точно блин, насчет цикла, забыл строчку format(qwery,sizeof(qwery),"SELECT id FROM NAMETAble where AccountName='Вася' "); исправить format(qwery,sizeof(qwery),"SELECT id FROM NAMETAble where AccountName='Вася' and id='%d' ",i);
без цикла результат, будет корявым, если как говорит автор, запись с васей там не одна, а с циклом, конкретезирует ид, там либо есть запись, либо нет. А вообще это просто пример, который не провярался, но примерно по принципу, у самого сервер весь на mysql всё что на серваке, всё грузится из бд
|
| |
|
|
| Impereal | Дата: Понедельник, 08.08.2011, 23:17 | Сообщение # 11 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
| Ладно спасибо! Сделал по другому, отдельное спасибо toneysix. Модераторы, тему закройте пожалуйсто!
Прощай самп-рус =Р
Сообщение отредактировал Impereal - Понедельник, 08.08.2011, 23:20 |
| |
|
|