ciao, anche io ho un problema simile su un insert, utilizzo pear - MDB2 con l'estensione per mssql. Sul server con mssql la tabella ha due campi, CodiceArticolo e DataVarOra di tipo smalldatetime

La query per interrogare la tabella è OK e mi restituisce una cosa del genere :

script:
# LETTURA DBASE #
$CodiceArticolo="110403";
$sql = "SELECT * FROM VarInterne WHERE CodiceArticolo='$CodiceArticolo'";
$res =& $mdb2->query($sql);
while (($row = $res->fetchRow())) {
echo "$row[0] - $row[1]";
}
output:
110403 - 2008-08-24 00:00:00
Quando faccio l'insert o mi inserisce date fantastronomiche tipo 1905-06-10 oppure MDB2 mi resituisce syntax error. Ho provato a formattare 'a mano' la stringa ma non riesco. Ecco due esempi di query :
# SCRITTURA DBASE #
$CodiceArticolo = "650017";
$DataOraVar = "2008-08-14 00:00:00";
$sql = "INSERT INTO VarInterne (CodiceArticolo, DataOraVar) VALUES ($CodiceArticolo, $DataOraVar)";
$affected =& $mdb2->exec($sql);
if (PEAR::isError($affected)) {
die($affected->getMessage());
}
output
MDB2 Error: syntax error
oppure:
# SCRITTURA DBASE #
$CodiceArticolo = "650017";
$DataOraVar = "2008-08-14";
$sql = "INSERT INTO VarInterne (CodiceArticolo, DataOraVar) VALUES ($CodiceArticolo, $DataOraVar)";
$affected =& $mdb2->exec($sql);
if (PEAR::isError($affected)) {
die($affected->getMessage());
}
risultato sul dbase:
650017 - 1905-06-10
Ho provato ovviamente a mettere GG-MM-AAAA, GG/MM/AAAA e altre mille mila prove,
mi dite come cavolo devo formattare la stringa per fare un insert corretto?

grazie in anticipo per le risposte