Newsgroup: it.comp.www.php
Titolo: un warning che non capisco

Ciao a tutti
ho una stranezza che non capisco
FF mi mostra un warning nella pagina degli errori:
Avviso: Errore nell'interpretazione del valore della proprietŕ 'border'. 
Dichiarazione tralasciata.
File sorgente: 
http://www.eccccc.
......
Riga: 0
<br />
se apro il file incriminato cliccando nel link della pagina degli errori la 
prima riga č:
<b>Warning</b>: mysql_fetch_array(): supplied argument is not a valid MySQL 
result resource in <b>/web/htdocs/
www.pincopallino.it/libri.php
</b> on line 
<b>14</b>
Il mio codice č:
<?PHP
$id=$_POST['id'];
$connessione = @mysql_connect("000.000.000.000", "999999999", 
"88888888888");
if ($connessione == FALSE)
{header('Location: 
http://www.pincopallino.it
');
exit();}
mysql_select_db("database_name");
$query = "SELECT * FROM libri WHERE id=$id";
$result = mysql_query($query);
$riga = mysql_fetch_array($result , MYSQL_NUM) ;
Sul browser errori non ce ne sono e il libro viene mostrato coorettamente
Nel al posto di $riga = mysql_fetch_array($result , MYSQL_NUM) ; siccome il 
risultato della query mi da per forza un record soltanto ho provato:
$riga = mysql_fetch_row($result ) ;
ma il warning č uguale
Grazie

 $riga = mysql_fetch_array($result , MYSQL_NUM) ;
Qui manca una minima gestione degli errori. Prova con qualcosa del
genere:
$query = 'select * from libri where id = '.$id_sicuro;
$result = @mysql_query($query);
if (is_resource($result)) {
  if (mysql_num_rows($result) == 1) {
    $riga = mysql_fetch_array($result);
  } else {
    // Se id è chiave primaria
    echo 'Nessun record trovato';
  }
} else {
  echo 'Errore: '.mysql_error();
}
Ciao.
-- 
Federico

Dichiarazione tralasciata.
Sei sicuro che l'errore sia nel sorgente (nel qual caso avrebbe dovuto
darti un numero di riga fra 1 e N, credo) e non, per dire, nel CSS che
quel file sorgente linka?
Leonardo
-- 
While ordinarily valid that being widespread does not make a statement
true, I feel that the diffusion of anti-evolutionary beliefs does pose
a strong argument for Darwin having been, indeed, sorely mistaken.

 "88888888888");
MAI usare @ durante lo sviluppo e il test.
Bye.

 -- 
Non ho altri file css linkati 

 MAI usare @ durante lo sviluppo e il test.
A meno di implementare gia' in fase di sviluppo e test il codice di
gestione degli errori.
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/

 Federico .
Ho fatto e mi fa lo stesso avviso di prima ovvero
Avviso: Errore nell'interpretazione del valore della proprietą 'border'.
Dichiarazione tralasciata.
l'errore mysql č sparito e al suo posto cliccando sul link nella pagima 
degli errori nella prima riga in alto leggo:
Nessun record trovato<html>
<head>
Eppure i dati sono visulaizzati perfettamente

Non ho altri file css linkati 
Allora: "border" non se l'e' sognato Firefox. Ci deve essere nel sorgente
della pagina HTML che la tua pagina PHP gli invia.
Inde, controlla dov'e' la parola "border" all'interno del sorgente HTML -
non della pagina PHP. Fai "Show page source", "Find", e ti togli tutte le
curiosita'.
Potrebbe essere che MySQL dia un errore e questo errore contenga, per dei
motivi imperscrutabili, qualcosa che Firefox interpreta come CSS errato.
Oppure stai caricando anche qualcos'altro (che so: e' un frameset? Hai un
qualche accrocco tipo AJAX? ecc.), e l'errore non e' li' dove pensi.
(Cioe': che non sia li' e' sicuro: la riga zero non esiste, Firefox conta
a partire da uno. Ma *forse* non e' nemmeno in quel _FILE_ che credi).


 Eppure i dati sono visulaizzati perfettamente
Questo perché normalmente alla pagina viene passato via post (tramite un
form?) un valore di id valido. 
-- 
Federico