Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Новичек в ступоре / 15 сообщений из 15, страница 1 из 1
28.05.2014, 18:18:38
    #38654907
Fogret
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
Помогите разобраться. Я в sql еще на уровне валенка и что то не допетрю.
Есть запись в БД в которой есть поле и этому полю по умолчанию присваивается значение 0(нуль). Мне необходимо в разовом порядке при старте всего проекта проверить это значение и изменить его на новое выбранное случайно в определенных рамках(именно в этой записи). Делаю запрос на проверку, но он независимо от того что в поле уже прошло изменение всегда возвращает значение удовлетворяющее условию. Вот мой код:

$row = mysql_query("SELECT winpole FROM tb_finder WHERE 1");
if ($row == 0) {
$winpole = rand(1,100);
mysql_query("UPDATE td_finder SET winpole = '$winpole' WHERE 1");
} else {...}
...
Рейтинг: 0 / 0
28.05.2014, 18:41:54
    #38654924
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
FogretПомогите разобраться. Я в sql еще на уровне валенка и что то не допетрю.
Есть запись в БД в которой есть поле и этому полю по умолчанию присваивается значение 0(нуль). Мне необходимо в разовом порядке при старте всего проекта проверить это значение и изменить его на новое выбранное случайно в определенных рамках(именно в этой записи). Делаю запрос на проверку, но он независимо от того что в поле уже прошло изменение всегда возвращает значение удовлетворяющее условию. Вот мой код:

$row = mysql_query("SELECT winpole FROM tb_finder WHERE 1");
if ($row == 0) {
$winpole = rand(1,100);
mysql_query("UPDATE td_finder SET winpole = '$winpole' WHERE 1");
} else {...}

язык SQL ты знаешь достаточно хорошо для данной задачи
...
Рейтинг: 0 / 0
28.05.2014, 18:44:15
    #38654927
Fogret
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
мои знания поверхностные. синтаксис понимаю исключительно на примере исходного кода всего проекта. Решить сам задачу не могу уже 2 дня =(
...
Рейтинг: 0 / 0
28.05.2014, 19:59:04
    #38654998
vip-y
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
Fogret,
$row - это resource
маны
...
Рейтинг: 0 / 0
28.05.2014, 21:56:22
    #38655052
Fogret
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
изменил начальный запрос к БД и проверку условия на

$winpole = mysql_fetch_array(mysql_query("SELECT * FROM tb_finder WHERE 1"));
if ($winpole[winpole] == 0)

и никакого результата, все без изменения =((
...
Рейтинг: 0 / 0
29.05.2014, 08:03:24
    #38655226
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
Fogretименно в этой записиа меняете всю таблицу
да и выбираете из всей таблицы, причём без упорядочивания - просто выбираете случайную запись и смотрите, ноль там или нет
...
Рейтинг: 0 / 0
29.05.2014, 11:04:56
    #38655464
Fogret
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
tanglirFogretименно в этой записиа меняете всю таблицу
да и выбираете из всей таблицы, причём без упорядочивания - просто выбираете случайную запись и смотрите, ноль там или нет

Подправил запрос
"SELECT winpole FROM tb_finder WHERE id = '1'"
но все равно у меня этот запрос всегда возвращает значение 0, хотя в таблице нет таких значений. У меня уже башка кипит, а понять нифига не могу где я ошибся? Если не сложно покажите правильный код запроса.
...
Рейтинг: 0 / 0
29.05.2014, 13:01:13
    #38655666
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
Fogretхотя в таблице нет таких значенийчем проверяете? в пхп соединяетесь точно с нужной базой?
...
Рейтинг: 0 / 0
29.05.2014, 13:07:58
    #38655674
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
Fogret,
можно сделать только одним updateс нужным условием в where.
...
Рейтинг: 0 / 0
29.05.2014, 15:39:54
    #38655983
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
Fogrettanglirпропущено...
а меняете всю таблицу
да и выбираете из всей таблицы, причём без упорядочивания - просто выбираете случайную запись и смотрите, ноль там или нет

Подправил запрос
"SELECT winpole FROM tb_finder WHERE id = '1'"
но все равно у меня этот запрос всегда возвращает значение 0, хотя в таблице нет таких значений. У меня уже башка кипит, а понять нифига не могу где я ошибся? Если не сложно покажите правильный код запроса.

говорил же что мускл автор знает достаточно хорошо... :)

а где в пхп коде видно, что там возвращаеться ноль ??
в пхп коде видно, что то что возвращаеться, если его преобразовать в число автоприведением типов то получиться ноль
...
Рейтинг: 0 / 0
29.05.2014, 18:19:05
    #38656257
Fogret
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
alex564657498765453Fogretпропущено...


Подправил запрос
"SELECT winpole FROM tb_finder WHERE id = '1'"
но все равно у меня этот запрос всегда возвращает значение 0, хотя в таблице нет таких значений. У меня уже башка кипит, а понять нифига не могу где я ошибся? Если не сложно покажите правильный код запроса.

говорил же что мускл автор знает достаточно хорошо... :)

а где в пхп коде видно, что там возвращаеться ноль ??
в пхп коде видно, что то что возвращаеться, если его преобразовать в число автоприведением типов то получиться ноль


Автор знает sql ровно столько сколько изучил его за последнюю неделю.
Знаю что в таблице нет нулевых значений потому что вижу ее в mysql.
...
Рейтинг: 0 / 0
29.05.2014, 18:31:47
    #38656264
Fogret
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
tanglirFogretхотя в таблице нет таких значенийчем проверяете? в пхп соединяетесь точно с нужной базой?

Соединение происходит с нужной базой, так как значение нужной мне ячейки в таблице меняется каждый раз при прогоне кода, то есть условие проверки всегда соответствует истине несмотря на то что значение в ячейке стоит например 46.
...
Рейтинг: 0 / 0
30.05.2014, 05:27:00
    #38656570
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
Fogretусловие проверки всегда соответствует истине несмотря на то что значение в ячейке стоит например 46ну тогда
alex564657498765453а где в пхп коде видно, что там возвращаеться ноль ??
в пхп коде видно, что то что возвращаеться, если его преобразовать в число автоприведением типов то получиться нольи вообще, сделайте var_dump этого массива (или как там массивы в пхп выводятся) и посмотрите, что вам реально возвращается
...
Рейтинг: 0 / 0
30.05.2014, 13:47:52
    #38657006
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
ЛАДНО ГОВОРЮ ПРЯМЫМ ТЕКСТОМ

АВТОР НЕ ЗНАЕТ ПХП

0 == 0
'vasya' == 0
'v2' == 0
null == 0

у тебя не строгое сравнение, то что условие срабатывает, не означает что в базе число ноль записано
...
Рейтинг: 0 / 0
30.05.2014, 20:40:32
    #38657482
Fogret
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новичек в ступоре
Всем спасибо за подсказки, заработал код как надо

$win = mysql_query("SELECT id, winpole FROM td_finder WHERE id = '1'");
$row = mysql_fetch_array($win);
if ($row[winpole] == 0) {
$winpole = rand(1,100);
mysql_query("UPDATE td_finder SET winpole='$winpole' WHERE id = '1'");
} else {...}
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Новичек в ступоре / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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