Salve a tutti ho un problema con una query. In pratica mi dice che non ho inserito data e ora nel formato che si aspetta access2007, ma qual è il modo giusto di inserirle?
<?php
$query="select * from ACQUIRENTE where NickA='".$_POST['Usr']."' and PasswordA='".$_POST['Psw']."'";
$path='C:/WWW/DatabaseAccess/';
$db_name='AsteOnLine.accdb';
$dsource=$path.$db_name;
$cn_string='Provider=Microsoft.ACE.OLEDB.12.0;';
$cn_string.="Data Source=$dsource;";
if (!file_exists($dsource)){
die("Il database non esiste");
}
$cn=new COM("ADODB.Connection");
$cn->open($cn_string);
$rs=new COM("ADODB.Recordset");
$rs->Open($query,$cn);
if ($rs->EOF) {echo"Nome Utente e/o password errati";}
else{
$rs->Close();
$rs=null;
$query="select * from ARTICOLO where Cod=".$_POST['Code'];
$rs=new COM("ADODB.Recordset");
$rs->Open($query,$cn);
if ($rs->EOF) {echo"Articolo Inesistente";}
else{
$rs->Close();
$rs=null;
$query="select Max(Val) as val from OFFERTA where Cod=".$_POST['Code'];
$rs=new COM("ADODB.Recordset");
$rs->Open($query,$cn);
if ($rs->Fields['val']->value>$_POST['Off']) {echo ("Offerta troppo bassa, prego digitare un importo superiore a ".$rs->Fields['val']->value);}
else{
$rs->Close();
$rs=null;
$d=(date("d-m-y"));
$o=(date("G:i"));
$query="insert into OFFERTA values(".$_POST['Code'].",'".$rs->Fields['val']->value."','".$d."','".$o."','".$_POST['Usr']."')";
$rs=new COM("ADODB.Recordset");
$rs->Open($query,$cn);
echo"Offerta Formulata con successo, buona fortuna";
$cn->Close();
L'errore è il seguente:
Notice: Trying to get property of non-object in C:\WWW\Offerta.php on line 49 Notice: Trying to get property of non-object in C:\WWW\Offerta.php on line 49 Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft Office Access Database Engine
Description: Tipi di dati non corrispondenti nell'espressione criterio.' in C:\WWW\Offerta.php:51 Stack trace: #0 C:\WWW\Offerta.php(51): com->Open('insert into OFF...', Object(com)) #1 {main} thrown in C:\WWW\Offerta.php on line 51