Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    errore nel fetch array()

    Ho cercato circa 4 ore prima di postare qua, vuole dire che sono disperato,
    dunque ho questo codice

    codice:
    	function load_module($position){ 		global $mysqli; 		global $tb; 		$tb_position_module = $tb['position-module']; 		$tb_position = $tb['position']; 		// check modules position 		$result = $mysqli->query("SELECT id FROM $tb_position WHERE name='$position'"); 		$row = $result->fetch_array(MYSQLI_BOTH); 		$id_position = $row['id']; 		// check modules name 		$result = $mysqli->query("SELECT module FROM $tb_position_module WHERE id_position = $id_position"); 		while($row = $result->fetch_array(MYSQLI_BOTH)){ 			if(substr($row['module'],0,4) == 'menu-'){ // riconosciuto modulo menu 				include('module/menu/menu.php?m='.substr($row['module'],5)); 			} 			else{ // carica un altro modulo 				include('module/'.$row['module'].'/'.$row['module'].'.php'); 			} 		} 	}
    Su tratta praticamente di una funziona che carica dei dati dal database, senza entrare troppo nei dettagli mi da l'errore
    Fatal error: Call to a member function fetch_array() on a non-object
    dove ho inserito il WHILE. Ora, non capisco proprio perché dal momento che il fetch_array() poco sopra funziona benissimo. Le tabelle sono piene e ho verificato che nella riga prima del errore gli output sono corretti.
    Qualche idea?

    Grazie
    Ottavio

  2. #2
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Il messaggio è chiaro, stai cercando di invocare un metodo con qualcosa che non è un oggetto. vuol dire che la query() non è andata abuon fine e $result non contiene un oggetto ma di certo contiene false (unico altr ovalore ammesso per le select).

    Prova a visualizzare l'errore con una echo $mysqli->error; prima del while ma dopo il metodo query();

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  3. #3
    grazie zio XD
    mi da questo
    Errore di sintassi nella query SQL vicino a '-module WHERE id_position = 1' linea 1
    ora indago nel frattempo se vuoi scrivere la tua almeno mi convinco..

    aggiungo anche:
    "SELECT module FROM $tb_position_module WHERE id_position = $id_position"
    questa è la query, tutte le variabili sono corrette e piene, non capisco proprio XD

  4. #4
    ah ecco forse ci sono, forse è un problema di sintassi, una query contente una tabella con il nome "sol_position-module" puo dare problemi? Mi viene il dubbio che il trattino media sia una specie di carattere speciale per la query...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.