Salve, ho questo problema: da una pagina "a.php" passo alla pagina "b.php" passando a questa una variabile, " cf ".
La pagina "b.php" contiene il seguente codice:
Codice PHP:
<?
include file
include file
include file
// recupero informazioni del paziente
$cf = $_GET[cf];
// connessione al database
$conn = MYSQL_CONNECT ($db_host,$db_user,$db_pwd);
// selezione database
MYSQL_SELECT_DB ($db_name,$conn);
// esecuzione query
$query = "SELECT codicefiscale,nome,cognome,eta,indirizzo,telefono,codicetipologia FROM paziente WHERE codicefiscale=$cf";
$ris = MYSQL_QUERY ($query,$conn);
$riga = mysql_fetch_array($ris);
if ($riga == FALSE)
die ("Errore: Il paziente cercato non esiste.");
else
{
?>
codice html
...
...
...
Quando passo alla pagina "b.php" mi viene restituito questo messaggio di errore:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in b.php on line 15
Errore: Il paziente cercato non esiste.
Ho fatto echo di $cf e dei dati di connessione al database, e sono corretti, e la riga cercata è presente nel database.
La tabella paziente ha questa struttura:
codice:
CREATE TABLE `paziente` (
`codicefiscale` varchar(16) NOT NULL default '',
`nome` varchar(20) NOT NULL default '',
`cognome` varchar(20) NOT NULL default '',
`eta` smallint(1) unsigned default NULL,
`indirizzo` varchar(50) NOT NULL default '',
`telefono` varchar(15) default NULL,
`codicetipologia` set('A','B','C','D','E') NOT NULL default '',
PRIMARY KEY (`codicefiscale`)
) TYPE=InnoDB;
#
# Dump dei dati per la tabella `paziente`
#
Perchè mi da quell'errore?
Se tolgo la clausola Where invece la query viene eseguita correttamente, restituendomi ovviamente però dati diversi da quelli cercati.