Глюки преобразования даты.

Araksh

Guest
Глюки преобразования даты.

Есть БД. Разрабатывал я ее под Виндовозом, на MySQL, интерфейс РНР-шный. Но клиенту мы ее поставили на сервак под FreeBSD. Как я мучился с настройкой связки Apache 2.0.54+PHP 4.3.11+MySQL 4.1.12, это отдельная сказка. Но самое обидное в том, что строчки запроса
------------------
INSERT INTO sklad
(CofID, DateIn, DateOut, Summ, used)
VALUES ($s[ID], '$date', STR_TO_DATE('$DoutC',GET_FORMAT(DATE,'EUR')), '$Sum', 1)
------------------
которые под виндой работали нормально, никсовая версия обрабатывает коряво. Конкретно ругается на GET_FORMAT(DATE,'EUR'). Соответственно, переменная $DoutC имеет вид 'dd.mm.YYYY'. Если кто-нибудь знает, в чем здесь проблема, буду оченно благодарен за помосчь.
 

Кром

Новичок
>Конкретно ругается на GET_FORMAT(DATE,'EUR')

Что значит ругается? Матом?
 

Araksh

Guest
Автор оригинала: Кром
>Конкретно ругается на GET_FORMAT(DATE,'EUR')

Что значит ругается? Матом?
Ага. Жутким. Вот таким:

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 , STR_TO_DATE('$DoutC',GET_FORMAT(DATE,'EUR')),' at line 1
 

Кром

Новичок
>переменная $DoutC имеет вид 'dd.mm.YYYY'

>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 , STR_TO_DATE('$DoutC',GET_FORMAT(DATE,'EUR')),' at line 1

Я вижу, что переменная $DoutC имеет далеко не тот вид, о котором ты говоришь.
 

tony2001

TeaM PHPClub
>syntax to use near , STR_TO_DATE('$DoutC',GET_FORMAT(DATE,'EUR')),' at line 1
вот прямо так и ругается?
с ИМЕНЕМ переменной вместо значения?
 

Araksh

Guest
Автор оригинала: tony2001
>syntax to use near , STR_TO_DATE('$DoutC',GET_FORMAT(DATE,'EUR')),' at line 1
вот прямо так и ругается?
с ИМЕНЕМ переменной вместо значения?
Нет, это просто я по памяти ошибку писал. Сорри всем за неточность. Сама же MySQL пишет
-------------------------
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 , STR_TO_DATE('16.07.2005',GET_FORMAT(DATE,'EUR')),' at line 1
-------------------------
 

Кром

Новичок
Araksh
Ты вообще разницу понимаешь между php кодом и текстовой строкой запроса, которую ты передаешь базе?
Если не понимаешь, мы можем объяснить.
 

Araksh

Guest
Автор оригинала: Кром
Araksh
Ты вообще разницу понимаешь между php кодом и текстовой строкой запроса, которую ты передаешь базе?
Если не понимаешь, мы можем объяснить.
Если я правильно понимаю, ты имеешь в виду то, что базе я передаю ЗНАЧЕНИЕ переменной. Я еще раз извиняюсь за опечатку в написании ошибки, но Ctrl+V расслабляет....
 

Кром

Новичок
>Который на MySQL? так я ж его полностью выложил в первом сообщении.

Я еще раз спрашиваю.
Ты понимаешь разницу между php кодом который ты привел в первом сообщении и текстовой строкой запроса, которую ты передаешь базе?
 

tony2001

TeaM PHPClub
>Который на MySQL? так я ж его полностью выложил в первом сообщении.
это шаблон запроса с именами переменных.
я имею ввиду то, что действительно передаётся базе.

Кром
ну хватит уже этой загадочности.
 

Araksh

Guest
Автор оригинала: Кром
>Который на MySQL? так я ж его полностью выложил в первом сообщении.

Я еще раз спрашиваю.
Ты понимаешь разницу между php кодом который ты привел в первом сообщении и текстовой строкой запроса, которую ты передаешь базе?
ОК, дабы не было непонимания, вывожу код РНР

$query="INSERT INTO coffeesklad
(CofID, DateIn, DateOut, Summ, used)
VALUES
($s[ID], '$date', STR_TO_DATE('$DoutC',GET_FORMAT(DATE,'EUR')), '$Sum', 1)";

и итоговый запрос на MySQL (примем $s[ID] за 5, $DoutC за '16.07.2005', $date за '2005-06-06', $Summ за 1500)

INSERT INTO coffeesklad
(CofID, DateIn, DateOut, Summ, used)
VALUES
(5, '2005-06-06', STR_TO_DATE('16.07.2005',GET_FORMAT(DATE,'EUR')), 1500, 1)";

-~{}~ 16.06.05 15:30:

Ну нет у меня сейчас под рукой Никсов, приходится все по памяти писать...
 

Кром

Новичок
Araksh, когда тебе говорят покажи запрос, надо писать
echo $query;
и результат показать на форуме, а нек заниматься очередным копированием непонятно каких данных.

>INSERT INTO coffeesklad
(CofID, DateIn, DateOut, Summ, used)
VALUES
(5, '2005-06-06', STR_TO_DATE('16.07.2005',GET_FORMAT(DATE,'EUR')), 1500, 1)

Выполни этот код в своем mysql клиенте и расскажи о результатах.

-~{}~ 16.06.05 14:33:

>Ну нет у меня сейчас под рукой Никсов, приходится все по памяти писать...

Тогда о чем вообще разговор. Ты тратишь свое и чужое время.
 

Araksh

Guest
Автор оригинала: Кром

>INSERT INTO coffeesklad
(CofID, DateIn, DateOut, Summ, used)
VALUES
(5, '2005-06-06', STR_TO_DATE('16.07.2005',GET_FORMAT(DATE,'EUR')), 1500, 1)

Выполни этот код в своем mysql клиенте и расскажи о результатах.

>Ну нет у меня сейчас под рукой Никсов, приходится все по памяти писать...

Тогда о чем вообще разговор. Ты тратишь свое и чужое время.
Еще раз повторяю, под виндовым клиентом запрос выполняется MySQL-запрос выполняется корректно. Ошибка выскакивает только в Никсах.
 

tony2001

TeaM PHPClub
>Ошибка выскакивает только в Никсах.
это всего-навсего значит, что там результирующий запрос ОТЛИЧАЕТСЯ от того, что ты получаешь на винде.
твои "воспоминания" гроша ломаного не стоят, забудь о них.
 

Araksh

Guest
Автор оригинала: Кром
И чего же ты от нас теперь хочешь? Иди ищи свои "Никсы".
Хотел информации. Получил критику и наезды. Большое спасибо всем, персонально Крому.

-~{}~ 16.06.05 15:51:

Автор оригинала: tony2001
>Ошибка выскакивает только в Никсах.
это всего-навсего значит, что там результирующий запрос ОТЛИЧАЕТСЯ от того, что ты получаешь на винде.
твои "воспоминания" гроша ломаного не стоят, забудь о них.
На Никсовом клиенте запрос был опробован, выдал ошибку. Какие еще претензии придумаем, господа хорошие?
 

tony2001

TeaM PHPClub
>На Никсовом клиенте запрос был опробован, выдал ошибку.
какую?
сделай там "SELECT VERSION()" заодно, раз уж ты нашел "Никсы".

>Какие еще претензии придумаем, господа хорошие?
ты предельно лаконичен.
не думаю, что это полезное качество может помочь в решении проблемы.
 

Araksh

Guest
Автор оригинала: tony2001
>На Никсовом клиенте запрос был опробован, выдал ошибку.
какую?
сделай там "SELECT VERSION()" заодно, раз уж ты нашел "Никсы".

>Какие еще претензии придумаем, господа хорошие?
ты предельно лаконичен.
не думаю, что это полезное качество может помочь в решении проблемы.
Apache 2.0.54+PHP 4.3.11+MySQL 4.1.12. Это было сказано в первом посте.

На никсовом клиенте запрос был обработан еще на той машинке в FreeBSD. Сейчас она в другом офисе, посему недоступна.

Если ты считаешь, что это может помочь, могу выложить PHP-скрипт, но как это может помочь, представляю слабо.

"Лаконичен" потому, что шеф за спиной бродит. Сие не способствует пространным описаниям.
 
Сверху