Выборка из базы

[Удален]
431

Как правильно составить строку запроса?

mysql_query('SELECT * FROM `rota` WHERE $uslov1=`$uslov2`');

после WHERE обязательно должны быть переменные

в данном варианте выводится ошибка:

mysql_fetch_array(): supplied argument is not a valid MySQL result resource

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#1

Это не ошибка.

Вбейте в гугл.переводчик и будете удивлены, как это переводиться.

И это у вас с PHP проблемы.

Свою строчку, а эту замените и проблема решается автоматически.

mysql_query("SELECT * FROM `rota` WHERE $uslov1=`$uslov2`");

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
$iD
На сайте с 06.12.2007
Offline
81
$iD
#2

первый параметр в WHERE - это поле в БД, т.е. там должно быть что-то типа WHERE id = `$uslov2`

только лучше сделать так:

$sql = 'SELECT * FROM rota WHERE uslov1 = ' " . mysql_real_escape_string($uslov2) . " ' ';

mysql_query($sql);

Всё для вебмастеров (http://wmasteru.org)
H
На сайте с 09.10.2012
Offline
11
#3

1. Разберитесь с кавычками в PHP и MySQL)

2. В обратные (``) кавычки обычно заключает имена таблиц/полей базы данных, текстовые параметры - обычные ординарные.

3. Чтобы не путаться, и чтобы явно было видно, что мы передаем в запрос параметром из PHP, неплохо заключать переменные в фигурные скобки - {$param}.

Z
На сайте с 17.09.2010
Offline
34
#4
$iD:

только лучше сделать так:
$sql = 'SELECT * FROM `rota` WHERE $uslov1=' " . mysql_real_escape_string($uslov2) . " ' ';

хуже... я бы сказал, что хуже даже чем у ТС...

$iD
На сайте с 06.12.2007
Offline
81
$iD
#5
хуже... я бы сказал, что хуже даже чем у ТС...

хуже чем у ТС? ну-ну.

ну и в целях оптимизации стоит отказаться от *, лучше выбрать те поля, которые действительно нужны.

TF-Studio
На сайте с 17.08.2010
Offline
334
#6

$iD, попробуй ещё раз внимательно посмотреть что ты предложил.

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
nezabor
На сайте с 19.07.2010
Offline
152
#7

я думаю что у вас ошибка с форматом данных

возмите вторую переменную в кавычки

mysql_query("SELECT * FROM rota WHERE ".$uslov1."='".$uslov2."'");

а вообще для наглядности выполните

echo "mysql_query(\"SELECT * FROM rota WHERE ".$uslov1."='".$uslov2."'\")";
exit;
Чудес не бывает...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий