[PHP] problema fetch_array

Pubblicità

Ilyich

Utente Attivo
Messaggi
1,056
Reazioni
151
Punteggio
69
ciao a tutti!
sto muovendo i primi passi riguardo a PHP e gestione dei database.
Sto svolgendo un esercizio con il quale dovrei interrogare un database stampando a video i risultati della query ma riscontro l'errore
"Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-5.3.9\www\leggidb.php on line 10"
il codice del file "leggidb.php" è il seguente:
Codice:
<?php
include ('conf.php');
$sql=mysql_query ("SELECT * FROM `lista_utenti` ");
while ($row = mysql_fetch_array($sql)) {

$ID=hmtlspecialchars ($row['ID']);
$Nome=hmtlspecialchars ($row['Nome']);
$Cognome=hmtlspecialchars ($row['Cognome']);
$Username=hmtlspecialchars ($row['nomeutente']);
echo ".$Nome"."".".$Cognome".".$Username";

}

mentre il codice del file conf.php è
Codice:
<?
$host="localhost";
$user="user";
$password="";
$db="utenti";
$conn=mysql_connect ($host,$user,$password)
or die ('Impossibile connettersi a Mysql:'mysql_error().' ');
mysql_select_db ("$db")
or die ('Impossibile connettersi al database:'mysql_error()' ');
?>

nella tabella ho inserito per comodità un solo record...
successivamente dovrei creare una maschera di login e permettere l'accesso ad una pagina riservata solo se i dati inseriti rientrano tra quelli registrati nella tabella del database, ma se prima non risolvo il problema di cui sopra sono bloccato...
grazie in anticipo! :)
 
Ultima modifica:
Re:
PHP:
 problema ferch_array[/b]

Prova a cambiare questo 
[LEFT][COLOR=#333333]echo ".$Nome"."".".$Cognome".".$Username";
con
echo "Nome: $nome\nCognome: $Cognome\nUsername: $Username";[/COLOR][/LEFT]
 
niente da fare... ma in cosa consistono le stringhe aggiuntive?
Cioè?

Comunque prova questo


<?phpinclude ('conf.php');
$sql=mysql_query ("SELECT * FROM lista_utenti");
while ($row = mysql_fetch_array($sql)) {


$ID=hmtlspecialchars ($row['ID']);
$Nome=hmtlspecialchars ($row['Nome']);
$Cognome=hmtlspecialchars ($row['Cognome']);
$Username=hmtlspecialchars ($row['nomeutente']);
echo "Nome: $nome\nCognome: $Cognome\nUsername: $Username";
}

Se non funziona ricontrolla che i nomi dei campi siano uguali a quelli nel codice controllando le maiuscole.
 
Ultima modifica:
volevo dire, hai modificato
Codice:
echo ".$Nome"."".".$Cognome".".$Username";
con
Codice:
echo "Nome: $nome\nCognome: $Cognome\nUsername: $Username";[/COLOR]

perchè?

comunque niente, continua a dare errore...
ho controllato che i campi espressi dopo $row coincidano con quelli della tabella e sono identici...
 
Perchè io ho sempre fatto in quel modo
Comunque qua
<?$host="localhost";
$user="user";
$password="";
$db="utenti";
$conn=mysql_connect ($host,$user,$password)
or die ('Impossibile connettersi a Mysql:'mysql_error().' ');
mysql_select_db ("$db")
or die ('Impossibile connettersi al database:'mysql_error()' ');
?>

Sei sicuro che l'user non è root e la password non l'hai messa? Perchè lo script sopra a me sembra giusto, mi viene il dubbio che non si connette.
 
ma non dovrebbe darmi l'errore di connessione al db in caso?
comunque ho provato anche a cambiare in root ma nulla...
altra particolarità: ho notato che se provo ad accedere a PHPMyAdmin dall'icona di EasyPhp sulla barra delle applicazioni, mi restituisce Errore 403: accesso negato...
devo aprire Easy PHP e poi all'interno della pagina andare sulla voce di PHPMyAdmin...
p.s.: non trovo più dove si verificavano nome utente e password di PhpMyAdmin... da dove ci si andava??? :oogle:
 
Su phpmyadmin che pass metti? non uso easyphp uso xampp quindi non so come puoi vedere i dati.
Se ci sei dopo nel pomeriggio ti posso aiutare in teamviewer, se vuoi verso le 14 mandami in pm l'id e la pass di team e ti aiuto la, faccio prima che qua
 
Ultima modifica:
Il problema è dato dal fatto che la query fallisce e ti restituisce false, come riportato nel manuale di PHP. Prova a stampare il messaggio di errore, usando la funzione mysql_error() dopo mysql_query(), ma prima del while.
 
allora, sono ripartito da zero.
Ho creato un nuovo file con queste semplici istruzioni:
Codice:
<?php 
$link = mysql_connect('localhost', 'user', ''); 

if (!$link) { 
   die ('Non riesco a connettermi: ' . mysql_error()); }
$database = mysql_select_db('utenti', $link); 

if ($database==TRUE) { 
 echo (" Connessione riuscita");} 
else {echo 'Non riesco a connettermi: ' . mysql_error();}

?>
risultato:"Non riesco a connettermi: Access denied for user ''@'localhost' to database 'utenti'
 
Io ti consiglio di installare xampp.
appena installato vai su 127.0.0.1, ti dirá vai su xampp_security.php e li imposti password mysql poi lo restarti e fatto
 
...sembro aver risolto il problema per adesso, o meglio, adesso riesco a connettermi al database, avevo fatto un po' di macello con gli utenti :D
ho per il momento lasciato perdere l'esercizio di lettura del db, mi sto concentrando sul fare un form di inserimento per aggiungere record ad una tabella.
Qui però ho un altro problema, posso continuare qui o apro una discussione apposita?
 
Pubblicità
Pubblicità
Indietro
Top