[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: MYSQL_ERROR
Evil_Google
Не обрящайте внимания на q(); Я запрос сделал внутри функций (внутри есть debug_buctrace).
q("INSERT INTO `battle_unit` SET `author`= ".$_SESSION['user']['login']." AND SET `battle_id` = ".$_SESSION['unit_battle']."");


Составил условия sql и выходит ошибка (развернутый инфо из за debug_buctrace):

Mysqli_Error: INSERT INTO `battle_unit` SET `author`= evilgoogle AND SET `battle_id` = 8
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET `battle_id` = 8' at line 1
Array
(
[0] => Array
(
[file] => Z:\home\3d_render.ru\www\module\battle\battle_unit.php
[line] => 3
[function] => q
[args] => Array
(
[0] => INSERT INTO `battle_unit` SET `author`= evilgoogle AND SET `battle_id` = 8
)

)

[1] => Array
(
[file] => Z:\home\3d_render.ru\www\Index.php
[line] => 13
[args] => Array
(
[0] => Z:\home\3d_render.ru\www\module\battle\battle_unit.php
)

[function] => include
)

)


_____________
Жадный.... жадный.... жадный кот
exotica
q("INSERT INTO `battle_unit`  (author, battle_id) VALUES ("'.$_SESSION['user']['login'].'","'.$_SESSION['unit_battle'].'");


Либо
q("UPDATE `battle_unit` SET `author`= ".$_SESSION['user']['login']." AND SET `battle_id` = ".$_SESSION['unit_battle'].""); //не будет работать вообще так как:


если меняеш значения в полях но при этом надо указвать какую строку (или строки) ты хочешь затронуть
WHERE `user`= "'.$_SESSION['user']['login'].'" //допустим ту строку где есть логин польователя из БД совпадет с залогиневшимся пользователем


_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Evil_Google
Спасибо теперь буду знать biggrin.gif


_____________
Жадный.... жадный.... жадный кот
Valick
exotica, на всякий случай
Цитата
INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
        [INTO] tbl_name [(col_name,...)]
        VALUES (expression,...),(...),...
        [ ON DUPLICATE KEY UPDATE col_name=expression, ... ]
или INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
        [INTO] tbl_name [(col_name,...)]
        SELECT ...
или INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
        [INTO] tbl_name
        SET col_name=(expression | DEFAULT), ...
        [ ON DUPLICATE KEY UPDATE col_name=expression, ... ]

т.е
INSERT INTO
`users`
SET
`name` = 'Evgen',
`age` = 26,
`country` = 'Russia',
`city` = 'Ryazan'
имеет место быть, нужно только заглядывать в документацию и соблюдать синтаксис

_____________
Стимулятор ~yoomoney - 41001303250491
exotica
Цитата
имеет место быть, нужно только заглядывать в документацию и соблюдать синтаксис

т.е в последнем случае произойдет замена в поле col_name если, возникнет совпадение primary key, если же нет то просто добавится строка

соответственно если мы не указываем ON DUPLICATE KEY UPDATE , то можем и скорее всего нарвемся на ошибку

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Valick
exotica, можно подумать при INSERT VALUES происходит как-то по другому


_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.