MSSQL вставить в строку дату, как ?

Casufi

Новичок
MSSQL вставить в строку дату, как ?

Все тот же ZendDB.
Дата у меня представленна в виде трех переменных, для вставки в базу использую конструкцию
PHP:
        $insert_data = array(
		      '[Period]'=>"CONVERT(DATE,'01/".$usermonth."/".$useryear."', 103)",
		      '[Resource]'=>$_POST['resource_id']
        );
        $db->insert('[GFK_WEB].[dbo].[TimeSheet]', $insert_data);
        $insert_id = $db->lastInsertId();
В ответ получаю ошибку
Zend_Db_Statement_Exception: SQLSTATE[HY000]: General error: 208 General SQL Server error: Check messages from the SQL Server [208] (severity 16) [(null)] in /home/webmaster/gfk/stable/library/Zend/Db/Statement/Pdo.php on line 234
 

zerkms

TDD infected
Команда форума
посмотри запрос, который в действительности ушёл в базу. научись сначала делать чистые запросы, а потом уже программировать через прослойки.
 

Casufi

Новичок
Вообщето основной вопрос в том, как отправить чистый запрос Zend_DB.
Чистый запрос у меня в SQL менеджере отрабатывает отлично, но вот как отослать его в Zend DB я пок ане нашел.
 

zerkms

TDD infected
Команда форума
ты правильно всё делаешь, так и нужно работать с zend_db.
но вначале тебе нужно получить чистый запрос, который генерится этим вызовом. и сравнить его с тем, что ты желаешь получить. а дальше уже принимать какие-либо решения.
 

Casufi

Новичок
Пока вышел из положения так

$sql = "INSERT INTO [GFK_WEB].[dbo].[TimeSheet] ".
"([Period], [Resource]) ".
"VALUES ".
"('".$useryear."-".$usermonth."-01"."',".
"'".$_POST['resource_id']."')";
$insert_result = $db->fetchAll($sql);

От зендовского инсерта ничего путного так и не добился
 

Sigorma

Новичок
Полное отсутствие понимания что такое "чистый" sql запрос.
В результате чего начинаются танцы с бубном.

Casufi
познай силу отладки своих скриптов, сделай
PHP:
print_r($sql);
 
Сверху