Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите составить правильный запрос к бд. / 25 сообщений из 53, страница 1 из 3
24.06.2012, 12:41:16
    #37852057
Atlina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Помогите составить запрос на поиск к базе данных, там нужно искать в столбике id соответствие переменной, я делал так:

Код: php
1.
2.
3.
4.
5.
6.
$a = $_GET['id'];

$q = mysql_query("SELECT * FROM sid WHERE UPPER(id) LIKE '%".strtoupper($_GET['id'])."%' ")
if (!$q) {
    die('Неверный запрос: ' . mysql_error());
}



Все выходит без ошибок, но как принять и удачно обработать результат выполнения? Пожалуйста помогите, целый день просиделa.
...
Рейтинг: 0 / 0
24.06.2012, 12:45:06
    #37852060
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
http://php.net/manual/ru/function.mysql-fetch-array.php

PS^ Такой запрос обречен на работу без индексов.
...
Рейтинг: 0 / 0
24.06.2012, 12:51:58
    #37852065
Atlina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Можете поподробней сказать зачем индексы, ну или как они влияют на поиск и т.п. ? Если воспользоватся mysql_fetch_array() то я получу аррай, а мне бы хотелось получать от базы что то вроде true и 1, мне просто проверить нужно на наличие, а не создавать масивы.
...
Рейтинг: 0 / 0
24.06.2012, 12:57:52
    #37852068
Atlina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Код: php
1.
2.
3.
4.
5.
6.
7.
$a = $_GET['id'];

$q = mysql_query("SELECT * FROM sid WHERE UPPER(id) LIKE '%".strtoupper($_GET['id'])."%' ")
//if (!$q) {
  //  die('Неверный запрос: ' . mysql_error());
//}
while ( $v = mysql_fetch_array($q, MYSQL_NUM)) { prinf( $v[0], $v[1], $v[2] ); }



Сделала как Вы сказали, но выдается вот такая ошибка:

Parse error: syntax error, unexpected T_WHILE in Z:\home\test1.ru\www\test.php on line 58

А вот сама строка 58:

Код: php
1.
while ( $v = mysql_fetch_array($q, MYSQL_NUM)) { prinf( $v[0], $v[1], $v[2] ); }



Скажите что не так.
...
Рейтинг: 0 / 0
24.06.2012, 13:10:29
    #37852074
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Код: php
1.
while ( $v = mysql_fetch_array($q, MYSQL_NUM)) { prinf( $v[0], $v[1], $v[2] ); }


Я вам такого не говорил

Хотя бы так
Код: php
1.
2.
3.
while ( $v = mysql_fetch_assoc($q)) { 
    print_r($v); 
}



Про индексы почитайте)
...
Рейтинг: 0 / 0
24.06.2012, 13:12:22
    #37852078
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
...
Рейтинг: 0 / 0
24.06.2012, 13:13:55
    #37852079
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
и сдается мне LIKE да еще с шаблоном %% вам не нужен.
...
Рейтинг: 0 / 0
24.06.2012, 13:25:54
    #37852093
Atlina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Решила сделать чуть иначе, то есть я получаю в ответ от базы массив с ид'ами ( 4567854, 534433434 ) и мне нужно проверить каждый ид на соответствие моей переменной, я не так хорошо знаю php но вот что получилось:


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$query = "SELECT * FROM sid WHERE id";

$result=mysql_query($query);

while($r=mysql_fetch_array($result) ){

echo "$r[id]<br/>";

}
if ( $r[id] == $_GET['id'] ){echo "OK!";
}else{ echo "ERROR!"; }



Помогите пожалуйста.
...
Рейтинг: 0 / 0
24.06.2012, 13:26:51
    #37852094
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
АД!
...
Рейтинг: 0 / 0
24.06.2012, 13:28:27
    #37852095
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Код: php
1.
2.
3.
4.
5.
$id = mysql_real_escape_string($_GET['id']);
$query = "SELECT id FROM sid WHERE id = '$id'";
$result=mysql_query($query);

var_dump(mysql_num_rows($result));
...
Рейтинг: 0 / 0
24.06.2012, 13:44:16
    #37852107
Atlina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Да все работает, огромное спасибо! Очень мне помогли, не могли бы Вы мне еще подсказать, вот если я узнала что id есть в базе и все ок, то мне нужно вывести ту строчку, имею ввиду что у меня в таблице sid есть колонки id, asquar, bd . То есть я узнала что id существует и можно не выводить ошибку и спокойно работать дальше, то есть вывести все эти значения именно для этого id'a, тоже пыталась это сделать, тоже никак не выходит, если Вам не сложно, набросайте код, я закончу сама. Большое спасибо.
...
Рейтинг: 0 / 0
24.06.2012, 14:00:50
    #37852116
Atlina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Делаю так:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
$id = mysql_real_escape_string($_GET['id']);
$query = "SELECT id FROM av WHERE id = '$id'";
$result=mysql_query($query);

$m = (mysql_num_rows($result));
// Результат 1 или 0.

if ( $m = 1 )
{
$l = "SELECT * FROM sid WHERE asqur, bd";
$j = mysql_query($l);
while($w=mysql_fetch_array($j) ){

echo "$r[bd], $r[asqur]<br/>";


}
}
if ( $m = 0){
echo "Ошибка, идентификатор не был найден в базе";}



Как мне узнавать и брать значение именно из того поля id , то есть значение bd и asqur должно соответствовать тому полю id которое мы ниже искали.
...
Рейтинг: 0 / 0
24.06.2012, 14:04:04
    #37852119
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
$id = mysql_real_escape_string($_GET['id']);
$query = "SELECT * FROM av WHERE id = '$id'";
$result=mysql_query($query);


if($w=mysql_fetch_assoc($j)){
    echo "$r[bd], $r[asqur]<br/>";
} else 
    echo "Ошибка, идентификатор не был найден в базе";
...
Рейтинг: 0 / 0
24.06.2012, 14:04:41
    #37852120
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Скопировал у вас с ошибкой.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
$id = mysql_real_escape_string($_GET['id']);
$query = "SELECT * FROM av WHERE id = '$id'";
$result=mysql_query($query);


if($r=mysql_fetch_assoc($j)){
    echo "$r[bd], $r[asqur]<br/>";
} else 
    echo "Ошибка, идентификатор не был найден в базе";
...
Рейтинг: 0 / 0
24.06.2012, 14:05:25
    #37852121
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Как вы код пишите, не зная инструмента, может стоит почитать сначала?
...
Рейтинг: 0 / 0
24.06.2012, 14:35:39
    #37852141
Atlina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Hett, я уже все написала =) Вот осталось только все самое сложное как говорится.

Делаю так, но ошибка :

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
$id = mysql_real_escape_string($_GET['id']);
$query = "SELECT id FROM av WHERE id = '$id'";
$result=mysql_query($query);

$m = (mysql_num_rows($result));
// Результат 1 или 0.

$l = "SELECT * FROM sid WHERE asqur, bd";
$j = mysql_query($l);
if($r=mysql_fetch_assoc($j)){
    echo "$r[bd], $r[asqur]<br/>";
} else 
    echo "Ошибка, идентификатор не был найден в базе";


Ошибка: Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\test.php on line 53
Ошибка, идентификатор не был найден в базе

Вот строка с ошибкой:
Код: php
1.
if($r=mysql_fetch_assoc($j)){



Мне осталось только это доделать и можно закончить проект, очень прошу еще раз помочь мне, наверно я Вас уже и так достала =)
...
Рейтинг: 0 / 0
24.06.2012, 14:37:05
    #37852142
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Я же выше написал:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
$id = mysql_real_escape_string($_GET['id']);
$query = "SELECT * FROM av WHERE id = '$id'";
$result=mysql_query($query);


if($r=mysql_fetch_assoc($j)){
    echo "$r[bd], $r[asqur]<br/>";
} else 
    echo "Ошибка, идентификатор не был найден в базе";
...
Рейтинг: 0 / 0
24.06.2012, 14:40:23
    #37852144
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Код: sql
1.
SELECT * FROM sid WHERE asqur, bd


АД!
...
Рейтинг: 0 / 0
24.06.2012, 15:16:45
    #37852163
Atlina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Hett, что не так? =) Блин мои знания бд очень малы, возможно запрос неверен, но это только одна часть скрипта которая работает вот так.
...
Рейтинг: 0 / 0
24.06.2012, 15:27:14
    #37852170
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Atlina,

Все же, почитайте документацию по используемым инструментам. В частности, по MySQL. Не обязательно сразу от корки до корки, но хотя бы синтаксис основных запросов изучите. Времени это много не займет, думаю, не более часа. Однако, сэкономит времени гораздо больше, ибо на написание запросов методом тыка, как Вы делаете, уходит времени гораздо больше. Да и работоспособность их весьма и весьма сомнительна.
...
Рейтинг: 0 / 0
24.06.2012, 15:53:55
    #37852190
Atlina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Посмотрела я документацию и попробовала так:


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
// Проверка на существования id в базе.
$id = mysql_real_escape_string($_GET['id']);
$query = "SELECT id FROM sid WHERE id = '$id'";
$result=mysql_query($query);

$m = (mysql_num_rows($result));
// Результат 1 или 0.

if ($m > 0 ){
$h = "SELECT bd FROM av WHERE id = '$id'";
$l=mysql_query($query);
while($p = mysql_fetch_array($l) ){

echo "$p[id], $p[bd]<br/>";}}
if ($m = 0 ){
echo "Идентификатора нет в базе. Дальнейшая работа не возможная";}



Вроде оно должно извлекать данные с колонки bd в той же строчке что и id только почему то этого не происходит, ну запрос точно правильный составила. Помогите пожалуйста,скажите что на этот раз не так.
...
Рейтинг: 0 / 0
24.06.2012, 16:00:23
    #37852192
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Пишите везде так:
Код: php
1.
$l=mysql_query($query) or die(mysql_error());
...
Рейтинг: 0 / 0
24.06.2012, 16:11:09
    #37852198
Atlina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
// Проверка на существования id в базе.
$id = mysql_real_escape_string($_GET['id']);
$query = "SELECT id FROM sid WHERE id = '$id'";
$result=mysql_query($query);

$m = (mysql_num_rows($result));
// Результат 1 или 0.

if ($m > 0 ){
$h = "SELECT bd FROM av WHERE id = '$id'";
$l=mysql_query($query) or die(mysql_error());
while($p = mysql_fetch_array($l) ){

echo "$p[bd]<br/>";}}
if ($m = 0 ){
echo "Идентификатора нет в базе. Дальнейшая работа не возможная";}



Ошибки нет, белый экран.

Вот так выглядит структура БД:

http://data1.floomby.com/files/previews/24_6_2012/0VxS3frg0C6DQhQqRnDaQ.jpg
...
Рейтинг: 0 / 0
24.06.2012, 16:13:04
    #37852200
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
ну значит в таблице av нету записей с таким ID
...
Рейтинг: 0 / 0
24.06.2012, 16:16:34
    #37852203
Atlina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить правильный запрос к бд.
Hett, как нет если есть, вот сделала скрин:

http://data4.floomby.com/files/share/24_6_2012/ZlTWI9fYuEeYlDguUmpatQ.png
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите составить правильный запрос к бд. / 25 сообщений из 53, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]