Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка MySQl 
:(
    Опции темы
Vreden
  Дата 23.8.2006, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Idiotic Admin
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 12.7.2006

Репутация: нет
Всего: 1



У меня значит вот такая проблема: поиск, добавление записей, создание таблиц, удаление таблиц выполняется нормально, а вот если я хочу сделать обновление записи, то ни чего не получается!
Код

...
mysql_connect("localhost","root")or die (mysql_error());
mysql_select_db("test") or die (mysql_error());
mysql_query ("update `data2` set (`bitva`='2') where login='%s'",$login) or die (mysql_error());
...

Выдаёт ошибку:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in D:\localhost\www\obrabotchikbitv.php on line 6
Что делать подскажите люди добрые!??


--------------------
Чё? Как? ©
PM MAIL WWW   Вверх
DemoCode
Дата 23.8.2006, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 890
Регистрация: 20.10.2005
Где: Россия

Репутация: нет
Всего: 41



Цитата(Vreden @  23.8.2006,  19:37 Найти цитируемый пост)
mysql_query ("update `data2` set (`bitva`='2') where login='%s'",$login)

Второй параметр в функции mysql_query должен быть идентификатором соединения.


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
Opik
Дата 23.8.2006, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 2
Всего: 55



Код

$query = mysql_query("query...") or die(mysql_error());


и будет тебе счастье.
PM MAIL Skype   Вверх
$дмитрий
Дата 23.8.2006, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 3
Всего: 45



Код

$login = mysql_connect("localhost","root")or die (mysql_error());
mysql_select_db("test", $login) or die (mysql_error());
mysql_query ("update `data2` set (`bitva`='2') where login='%s'",$login) or die (mysql_error());


Это сообщение отредактировал(а) $дмитрий - 23.8.2006, 20:57
PM MAIL   Вверх
vasac
Дата 23.8.2006, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 3
Всего: 36



И все таки:
Код

mysql_query ( 'update `data2` set (`bitva`="2") where login="'.mysql_escape_string( $login ).'"' );


Vreden, ты с Си пришел? Забудь тогда про printf, в php все куда проще.

Это сообщение отредактировал(а) vasac - 23.8.2006, 21:12
PM WWW   Вверх
Kesh
Дата 24.8.2006, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 5
Всего: 54



vasac, только наверное наоборот... smile
Код

mysql_query ( "update `data2` set (`bitva`='2') where login='".mysql_escape_string( $login )."'" );



--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
vasac
Дата 24.8.2006, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 3
Всего: 36



Kesh, а какая разница?
PM WWW   Вверх
Vaulter
Дата 24.8.2006, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 3
Всего: 22



Kesh, одиночные тут предпочтительнее
код быстрее, чем с двойными


--------------------
PM MAIL WWW ICQ   Вверх
Kesh
Дата 24.8.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 5
Всего: 54



Vaulter, Почему? Ссылка на первоисточник?


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Vaulter
Дата 24.8.2006, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 3
Всего: 22



Kesh, открываем мануал:
Цитата

В отличие от двух других синтаксисов, переменные и экранирующие последовательности для специальных символов, встречающиеся в строках, заключенных в одинарные кавычки, не обрабатываются. 

Цитата
Если строка определяется в двойных кавычках, либо при помощи heredoc, переменные внутри нее обрабатываются. 


теперь скажи, что быстрее? smile


--------------------
PM MAIL WWW ICQ   Вверх
Kesh
Дата 24.8.2006, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 5
Всего: 54



Vaulter, да я не спорил... Я просил ссылку на мануал...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Vaulter
Дата 24.8.2006, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 3
Всего: 22



Kesh, дык я тоже не спорил! smile


--------------------
PM MAIL WWW ICQ   Вверх
Vreden
Дата 24.8.2006, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Idiotic Admin
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 12.7.2006

Репутация: нет
Всего: 1



Ребят, код теперь выглядит таким образом:
Код

$indent = mysql_connect("localhost","root")or die (mysql_error());
mysql_select_db("test", $indent) or die (mysql_error());
mysql_query ( 'update `data2` set (`bitva`="2") where login="'.mysql_escape_string( $login ).'"' ) or die (mysql_error());

Причем не важно какие там кавычки стоят пробовал и такой вариант и такой! Вообщем я в этих кавычках запутался.
Ошибка такая
You have an error in your SQL syntax near '(`bitva`="2") where login="testlogin"' at line 1
Помогите плиз  smile 


--------------------
Чё? Как? ©
PM MAIL WWW   Вверх
DemoCode
Дата 24.8.2006, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 890
Регистрация: 20.10.2005
Где: Россия

Репутация: нет
Всего: 41



Я так понимаю bitva у тебя целочисленного типа, а ты её как строку... Если я прав убери ковычки:
Код

(`bitva`=2) where login="testlogin"




--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
vasac
Дата 24.8.2006, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 3
Всего: 36



DemoCode, mysql спокойно ест целочисленные значения заключенные в кавычки.

А вот в скобки заключать инструкции в разделе SET по-моему не следует.
Vreden, попробуй:
Код

mysql_query ( 'update `data2` set `bitva`="2" where login="'.mysql_escape_string( $login ).'"' ) or die (mysql_error());


Это сообщение отредактировал(а) vasac - 24.8.2006, 19:21
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0549 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.