-
Non capisco perche
Salve sono nuovo è la prima volta che scrivo e spero di farlo nella sezione giusta
vi spiego subito il mio problema ho creato uno script che in locale con WampServer mi funziona benissimo ma quando lo posto su altervista non funziona piu
Codice PHP:
<META http-equiv="REFRESH" content="60">
<?php
$MySql = "SELECT UltimaEsp, (DATE_ADD(UltimaEsp, INTERVAL 5 MINUTE) < NOW()) AS Tempo FROM Personaggio WHERE nome = '".$_SESSION['login']."' ";
$Result = mysql_query($MySql);
$rs = mysql_fetch_array($Result);
$Tempo_ok = $rs['Tempo'];
$UltimaEsp = $rs['UltimaEsp'];
$rs->close;
if ($Tempo_ok ==1) {
$MySql = "UPDATE Personaggio SET Esperienza = Esperienza + '1' WHERE nome = '".$_SESSION['login']."' ";
$Result = mysql_query($MySql);
$MySql = "UPDATE Personaggio SET azioni = azioni + '1' WHERE nome = '".$_SESSION['login']."' ";
$Result = mysql_query($MySql);
$MySql = "UPDATE Personaggio SET UltimaEsp = NOW() WHERE nome = '".$_SESSION['login']."' ";
$Result = mysql_query($MySql);
$MySql = "UPDATE Personaggio SET ultima_azione = NOW() WHERE nome = '".$_SESSION['login']."' ";
$Result = mysql_query($MySql);
}
?>
spero che qualcuno mi possa aiutare grazzie in antipo
-
In generale, quando hai questi problemi, all'inizio del codice metti la error_reporting(E_ALL);
-> Ti sei connesso correttamente al database? Prima di fare una query, devi connetterti con mysql_connect() e mysql_select_db(). Usa anche mysql_error() in modo di sapere se e quale errore si verifica.
-> Quando usi le sessioni (anche solo in lettura), ricordati di inserire, prima di qualsiasi output html, la session_start()
Altre considerazioni:
Tutti quegli update puoi farli con un'unica query! Risparmi sul numero delle query (che, a meno di non aver acquistato le query illimitate), sono limitate.
Invece di far aggiornare ogni 60 secondi la pagina all'utente, hai pensato a utilizzare ajax (tramite javascript), per gli utenti che lo supportano?
Ciao!
-
ti ringrazzio per avermi risposto subito
ho seguito il tuo consiglio facendo diventare la query una sola, in efetti non ci avevo penasato.
ho controllato e si conette al database, le sessioni funzionano ho fatto tette le prove possibili
per il Refresh lo uso solo nelle prove perche quando includo lo script lo fa in gioco da solo
comunque l'errore che mi da è
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /+++++++/++++++/prova.php on line 9 che sarebbe
$rs = mysql_fetch_array($Result);
ma questo solo se lo publico perche in locale mi funziona
-
Prova ad inserire:
Codice PHP:
if (!$Result)
die('Errore query: ' . mysql_error());
Prima di quella riga.
Ciao!
-
non so come ringraziarti con i tuoi consigli ho trovato l' errore che in effetti era nel fatto che la tabella personaggio nel db e con la minuscola
grazie infinite