Codici uguali, risposte diverse
Codici uguali, risposte diverse postato il 03/09/2008 22:28:28 nel forum programmazione, open source e hosting
Salve. Programmando in accent mi è capitato di dover ripetere una query in due pagine diverse. La query è perfettamente identica e anche il codice successivo è pressochè identico.
$query5 = "SELECT relabil.gradoab, abilità.* FROM relabil LEFT JOIN abilità ON relabil.idab = abilità.id WHERE relabil.idpg = '$user_id'";
if ($results5 = $db->query($query5)){
while ($fetch = $results5->fetch_assoc()){
$eleab .= "<li>".$fetch['nomeab'].": ".$fetch['gradoab']." (".ucfirst($fetch['carab']).")</li>";
}
}
Questo è il primo, sicuramente funzionante.
$query5 = "SELECT relabil.gradoab, abilità.* FROM relabil LEFT JOIN abilità ON relabil.idab = abilità.id WHERE relabil.idpg = '$uid'";
if ($results5 = $db->query($query5)){
while ($fetchab = $results5->fetch_assoc()){
$eleab .= "<option value='".$fetchab['id']."'>".$fetchab['nomeab'].": ".$fetchab['gradoab']." (".ucfirst($fetchab['carab']).")</option>";
}
}
Questo il secondo. La cosa bizzarra è che nel secondo results5 è come se non venisse inizializzato. Infatti ho provato a togliere la condizione if per forzare il codice successivo e il php mi dice che non può applicare il metodo fetch assoc ad un non oggetto. Ora la cosa mi pare alquanto strana, poichè ho provato la query facendola stampare direttamente nel pannello mysql e mi da il risultato desiderato. Qualcuno ha qualche idea su cosa cercare nella pagina che possa portare queste differenze? Specifico inoltre che nella pagina non funzionante vi sono altre query eseguite normalmente, quindi non è un problema di connessione al db.
Pagine → 1
03/09/2008 22:45:09
prova ad isolare questa query con un pezzo di codice dell'intera pagina alla volta, così almeno capisci dove devi concentrare la tua attenzione.
04/09/2008 01:36:03
4) togli gli accenti ed i caratteri soeciali dai nomi delle tabelle e delle colonne
04/09/2008 08:18:43 e modificato da toth il 04/09/2008 08:26:57
Allora ho messo il die nella query ed effettivamente mi da l'errore. Però non mi riesco a capacitare del fatto che due query identiche diano una risultato positivo una negativo! Le ho stampate con un echo entrame ed escono perfettamente identiche.
P.S. Risolto! Era la codifica del file diverso, ho fatto come suggerisce rlhor, cambiato la tabella ed adesso funziona normalmente. Grazie ragazzi.
04/09/2008 08:36:42
5) usa un editor che ti salvi tutti i file nella stessa codifica (suggerisco utf-8)
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Cafuné ↗
Enlisted ↗
Wuthering Waves ↗
Seconda Era ↗
New Orleans ↗