Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сложный sql запрос, немогу с кавычками разобраться

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
wmz38
Отправлено: 10 Декабря, 2007 - 16:32:33
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2007  


Помог: 0 раз(а)




Мне нужно сделать запись в таблицу basket, в качестве инфы
будут данные из базы и данные из формы
PHP:
скопировать код в буфер обмена
  1. INSERT INTO basket  (id, sid, kod, quantity, ip_adres, data_sozdaniya,
  2.  zakazano , fio, phone, email, adres, comment, cena, summa)
  3.  (SELECT id, sid, kod, quantity, ip_adres, data_sozdaniya FROM
  4. cart WHERE sid = 77a81a75930ac23a65cd1c6b4903dbc6), vasya,
  5. 123123123, mailanetu, bomj, gogo, '0', '0';

но мускуль выдает ошибку
Цитата:
#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 'vasya, 123123123, mailanetu, bomj, gogo, '0', '0'


может быть я кавычки пропустил?
 
 Top
valenok
Отправлено: 10 Декабря, 2007 - 16:49:16
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




название полей и таблиц в апострофы `table`
ключевые слова заглавными буквами SELECT
всё остальное в одинарные кавычки


-----
Truly yours, Sasha.
 
My status
 Top
wmz38
Отправлено: 10 Декабря, 2007 - 17:46:02
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2007  


Помог: 0 раз(а)




Вроде все поля сходятся, а если делать без VALUE и круглых скобок, то всеравно ошибка..
Цитата:
Ошибка

SQL-запрос: Документация

INSERT INTO `basket` (
`id` ,
`sid` ,
`kod` ,
`quantity` ,
`ip_adres` ,
`data_sozdaniya` ,
`name` ,
`phone` ,
`email` ,
`adres` ,
`comment` ,
`cena` ,
`summa`
)
VALUES (
(

SELECT `id` , `sid` , `kod` , `quantity` , `ip_adres` , `data_sozdaniya`
FROM `cart`
WHERE `sid` = '77a81a75930ac23a65cd1c6b4903dbc6'
), 'Rov', '399', 'pochta', 'yasen', 'hi ppl', '0', '0'
)

Ответ MySQL: Документация
#1136 - Column count doesn't match value count at row 1
 
 Top
valenok
Отправлено: 10 Декабря, 2007 - 17:56:16
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Либо MySQL врёт по понедльникам
либо вы ошибаетесь


-----
Truly yours, Sasha.
 
My status
 Top
wmz38
Отправлено: 10 Декабря, 2007 - 18:06:17
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2007  


Помог: 0 раз(а)




Ладно, есть одно поле, но оно не указано ни как поле куда идет запись, ни как поле откуда считывается запись - соответственно в таблице basket оно останется по умолчанию.
 
 Top
valenok
Отправлено: 10 Декабря, 2007 - 18:12:33
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Написанно же
#1136 - Column count doesn't match value count at row 1
что записываете 14 значений в 13 полей


-----
Truly yours, Sasha.
 
My status
 Top
wmz38
Отправлено: 10 Декабря, 2007 - 18:16:33
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2007  


Помог: 0 раз(а)




valenok пишет:
Написанно же
#1136 - Column count doesn't match value count at row 1
что записываете 14 значений в 13 полей

не может этого быть!!! В таблице всего 14 полей, из который в 13 записываю, посмотрите сами в коде 13 из 13 полей фигурирует... Ах да, ну использовал я 14 из 14 - тот же эффект.
 
 Top
valenok
Отправлено: 10 Декабря, 2007 - 18:55:46
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Значит я ошибаюсь, sql врёт, а вы плохо считаете.


-----
Truly yours, Sasha.
 
My status
 Top
Devoll
Отправлено: 10 Декабря, 2007 - 22:25:06
Post Id



Новичок


Покинул форум
Сообщений всего: 59
Дата рег-ции: Июль 2007  


Помог: 0 раз(а)




попробуйте все-таки поставить в запрос последнее поле ибо причина мб в этом.

PHP:
скопировать код в буфер обмена
  1.  
  2. INSERT INTO `basket` (
  3. `id` ,
  4. `sid` ,
  5. `kod` ,
  6. `quantity` ,
  7. `ip_adres` ,
  8. `data_sozdaniya` ,
  9. `name` ,
  10. `phone` ,
  11. `email` ,
  12. `adres` ,
  13. `comment` ,
  14. `cena` ,
  15. `summa`
  16. )
  17. VALUES (
  18. (
  19.  
  20. SELECT `id` , `sid` , `kod` , `quantity` , `ip_adres` , `data_sozdaniya`
  21. FROM `cart`
  22. WHERE `sid` = '77a81a75930ac23a65cd1c6b4903dbc6'
  23. ), 'Rov', '399', 'pochta', 'yasen', 'hi ppl', '0', '0',''
  24. )
  25.  
 
 Top
EuGen Администратор
Отправлено: 11 Декабря, 2007 - 07:18:25
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




У Вас SQL-запрос в корне неправильный. Ну нельзя синтаксис INSERT .. SELECT смешивать с синтаксисом обычного INSERT.
Вот так должно работать:
PHP:
скопировать код в буфер обмена
  1.  
  2. INSERT INTO `basket` (
  3. `id` ,
  4. `sid` ,
  5. `kod` ,
  6. `quantity` ,
  7. `ip_adres` ,
  8. `data_sozdaniya` ,
  9. `name` ,
  10. `phone` ,
  11. `email` ,
  12. `adres` ,
  13. `comment` ,
  14. `cena` ,
  15. `summa`
  16. )
  17. SELECT `id` , `sid` , `kod` , `quantity` , `ip_adres` , `data_sozdaniya`, 'Rov', '399', 'pochta', 'yasen', 'hi ppl', '0', '0'
  18. FROM `cart`
  19. WHERE `sid` = '77a81a75930ac23a65cd1c6b4903dbc6'
  20.  


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
wmz38
Отправлено: 11 Декабря, 2007 - 08:14:33
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2007  


Помог: 0 раз(а)




EuGen, в базе `cart` нет тех полей что красным цветом помечены.
То что помечено красным будет браться так
 
 Top
evgenijj
Отправлено: 11 Декабря, 2007 - 09:02:30
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




wmz38 пишет:
EuGen, в базе `cart` нет тех полей что красным цветом помечены.

А вот это нам абсолютно неважно. Вот этот запрос

SELECT name, rule, 'ЗАО "Рога и копыта"', 'Остап Бендер', 'Шура Балаганов', NOW( )
FROM `forums`
WHERE id_forum=1

правильный, при том, что в таблице forums есть только три поля
id_forum
name
rule
 
 Top
wmz38
Отправлено: 11 Декабря, 2007 - 10:49:09
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2007  


Помог: 0 раз(а)




Спасибо, разобрался, понял.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB