Io sono un novellino di php, infatti ho iniziato a programmare da 5 giorni perchè devo portare la gestione di un sito di aste on line per l'esame di stato. Ora scrivendo questo codice php:
<?php
$query="select * from ACQUIRENTE where NickA=".$_POST['Usr']." and PasswordA=".$_POST['Psw'];
echo $query;
$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) from OFFERTA";
$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'].",".$d.",".$o.",".$_POST['Usr'];
$rs=new COM("ADODB.Recordset");
$rs->Open($query,$cn);
echo"Offerta Formulata con successo, buona fortuna";
$cn->Close();
$cn=null;}}}
?>
dopo aver compilato il form appare la scritta:
select * from ACQUIRENTE where NickA=Giacomo91 and PasswordA=giacomo Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft Office Access Database Engine
Description: Nessun valore specificato per alcuni parametri necessari.' in C:\WWW\Offerta.php:20 Stack trace: #0 C:\WWW\Offerta.php(20): com->Open('select * from A...', Object(com)) #1 {main} thrown in C:\WWW\Offerta.php on line 20
Cosa significa?
E per caso ci sono altri errori evidenti (segnalatemeli sennò impazzisco)?