select+insert, поля с insert value

[Удален]
444

Здравствуйте, подскажите почкему такой код не работет


INSERT INTO chat (order_id, messages, created, sender_id)
VALUES (3, 'messssssss', '2010-20-12 123123', 11)
SELECT seller_id, buyer_id
FROM orders
WHERE
orders.id = order_id
AND
(orders.seller_id == sender_id OR orders.buyer_id == sender_id)

Ошибка

11)

[Err] 1064 - 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 '== sender_id OR orders.buyer_id == sender_id)
INSERT INTO chat (order_id, messa' at line 6

Суть:

Человек отправляем сообщение мы добавляем его в базу в том случаи елси он причастен к order_id(товар).

Спасибо!

C
На сайте с 04.02.2005
Offline
291
#1

ГДЕ? Вы взяли order_id для

конструкции

WHERE

orders.id = order_id

и тд....

[umka]
На сайте с 25.05.2008
Offline
456
#2

Вместо == используйте =

Лог в помощь!
D
На сайте с 14.01.2007
Offline
153
#3

*здесь была чушь*

[Удален]
#4

да, вместо == нужно =

order_id это value из инсерта, передается для вставки.

order_id - нужен чтобы определить ордер, далее из этого ордера определить seller_id и buyer_id


INSERT INTO chat (order_id, messages, created, sender_id)
VALUES (3, 'messssssss', '2010-20-12 123123', 11)
(SELECT id, seller_id, buyer_id
FROM orders
WHERE
orders.id = order_id
AND
(orders.seller_id = sender_id OR orders.buyer_id = sender_id))

Можно так решить но хочу 1 запросом.


$sql = "SELECT id, seller_id, buyer_id
FROM
orders
WHERE
orders.id = $order_id
AND
(orders.seller_id = $sender_id OR orders.buyer_id = $sender)"

$res = $this->query($sql);

if ($res->num_rows() == 1)
{
$s = "INSERT INTO chat (order_id, messages, created, sender_id) VALUES ($order_id, 'messssssss', '2010-20-12 123123', $sender_id)";
query ........
}

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