Warning: mysql_num_rows() expects parameter 1 to be resource, array given in

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Salve ragazzi,

Mi dite cosa c'è che non gli piace ??? Mi segnala il seguente errore:

Warning: mysql_num_rows() expects parameter 1 to be resource, array given in


PHP:
<?php
session_start();

require_once("protezionepag.php");
 
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'; 

session_start();

if(isset($_SESSION['nome'])) {
$array = mysql_query("SELECT * FROM utenti WHERE id=".$_SESSION['id']." '");

$array =  strtoupper($_SESSION['nome'] );

 $datadinascita = $anno . "-" . $mese . "-" . $giorno;     
// Ricerca e visualizza l'utente che si è connesso con le info

$array = mysql_fetch_array(mysql_query("SELECT * FROM utenti WHERE id='".$_SESSION['id']."'"));
if(mysql_num_rows($array) > 0){

echo "<br> <br>";

echo $id." ".$array;
echo $datadinascita." ".$citta." ".$provincia." ";
}
}
?>

Inoltre dalla pagina dove viene visualizzato i dati da inserire non li trasmette al file aaggiornaprofilo.php Come mai ????
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Semplice, tu gli passi il risultato di mysql_fetch_array() che ritorna il rispettivo record come array non la query, quindi è sufficiente che gli passi il risultato di mysql_query() togliendo il fetch_array
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Correggimi se sbaglio per favore. Intendi così:

PHP:
$datadinascita = $anno . "-" . $mese . "-" . $giorno;     
// Ricerca e visualizza l'utente che si è connesso con le info

$array = mysql_query("SELECT * FROM utenti WHERE id='".$_SESSION['id']."'");
if(mysql_num_rows($array) > 0){

Poi nel postare mi sono accorto che mancava la parte dell'update, ecco perchè i campi risultavano vuoti. Comunque ho sbagliato ????
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ho modificato un pochino il codice ma tanto pare che non vada. Perchè mi da ils eguente errore:

UPDATE utenti SET datadinascita='--', citta='', provincia='', anno_diploma='' WHERE session_id = 'ds2aar64gc5alc74751bbuhve3'Errore: Non è stato possibile effettuare l'aggiornamento richiesto

PHP:
<?php
session_start();

require_once("protezionepag.php");
 
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'; 

session_start();

if(isset($_SESSION['nome'])) {
    

$array = mysql_query("SELECT * FROM utenti WHERE id=".$_SESSION['id']." '");
echo $array;

$datadinascita = $anno . "-" . $mese . "-" . $giorno;   
 $session_id = session_id();
 
echo "<h1> Esecuzione in corso dell'aggiornameto profilo... </h1>"; 


$qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia', 
    anno_diploma='$anno_diploma' 
  WHERE session_id = '$session_id'";
echo $qry;

if (mysql_query($quy)){ 
    echo "... Aggiornamento effettuato correttamente...."; 
} else { 
    echo "Errore: Non è stato possibile effettuare l'aggiornamento richiesto";

}
}
   
?>

Tutti i dati che gli ho inserito non li passa nell'aggiornamentoprofilo. A questo punto non riesco più a capirci niente :(

P.S.: Dimenticavo, mi restituisce il seguente messaggio:

BENVENUTO FABIO

Esecuzione in corso dell'aggiornameto profilo...
UPDATE utenti SET datadinascita='--', citta='', provincia='', anno_diploma='' WHERE session_id = 'ds2aar64gc5alc74751bbuhve3'Errore: Non è stato possibile effettuare l'aggiornamento richiesto
 
Ultima modifica:

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Per forza, quei campi non vengono presi da nessuna parte, forse ti sei scordato la parte di script dove venivano esportate le variabili, oppure di settarle da normali variabili $_POST, comunque si è corretto l'altro (come procedimento)


Infatti nella query stampata lo noti chiaramente che i campi di update sono vuoti
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Quindi secondo te con dei post riesco a risolvere il problema ?????

Del tipo:

PHP:
$datadinascita = $anno . "-" . $mese . "-" . $giorno;  
 $citta = mysql_real_escape_string(strtolower(trim ($_POST['citta'])));
 $provincia = mysql_real_escape_string(strtolower(trim ($_POST['provincia'])));

Se non ho capito male dovrebbe venire in questo modo:


PHP:
<?php
require_once("connetti.php"); 

echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'; 

echo "<h1> Esecuzione in corso dell'aggiornameto profilo... </h1>"; 
 
$datadinascita = $anno . "-" . $mese . "-" . $giorno;  
 $citta = mysql_real_escape_string(strtolower(trim ($_POST['citta'])));
 $provincia = mysql_real_escape_string(strtolower(trim ($_POST['provincia'])));

 $qry = "UPDATE utenti SET 
    datadinascita='$datadinascita', 
    citta='$citta', 
    provincia='$provincia', 
    anno_diploma='$anno_diploma' 
    WHERE email = '[email protected]'";  

 

if (mysql_query($qry)){ 
    echo "... Aggiornamento effettuato correttamente...."; 
     echo $qry;
} else { 
    echo "Errore: Non è stato possibile effettuare l'aggiornamento richiesto" or die (mysql_error()); 


}   
?>

Giusto ??? Se è sbagliato correggimi per favore. Grazie. vado a cena. Ci sentiamo sul tablet. Provato ora, ma mi restituisce sempre questo:

Esecuzione in corso dell'aggiornameto profilo...
... Aggiornamento effettuato correttamente....UPDATE utenti SET datadinascita='--', citta='', provincia='', anno_diploma='' WHERE email = '[email protected]'
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Mi pare ti avevo già scritto come esportarli tutti, infatti l'altra volta gli avevi, comunque lo devi fare per tutti i campi quel lavoro
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
ciao

Ciao,


Allora se non ti di spiace, domani mi puoi dare una mano a rivedere il tutto ??? Credo di essermi incasinato alla grande.... Mi avevi detto di provare a mettere la mia email giusto ???? Ho provato e funzionava. Però, modificava solo il mio account e fovevo risolvere questo che ancora non ci sono riuscito
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Ciao,


Allora se non ti di spiace, domani mi puoi dare una mano a rivedere il tutto ??? Credo di essermi incasinato alla grande.... Mi avevi detto di provare a mettere la mia email giusto ???? Ho provato e funzionava. Però, modificava solo il mio account e fovevo risolvere questo che ancora non ci sono riuscito
La mail la dovevi mettere in una sessione quando l'user si logga o conferma la registrazione


Per la revisione si ti posso aiutare ma ti ripeto (come nei topic precedenti) è una struttura incasinata e veramente poco dinamica, dovresti prima organizzare una logica di quello che fai non linea per linea

Comunque ho ritrovato la parte di codice che ti avevo messo, che modifiche hai fatto, perché l'hai tolta?
PHP:
foreach($_POST as $key => $value) $_POST[$key] = mysql_real_escape_string(strtolower(trim ($value))); 

extract($_POST,EXTR_SKIP);

Inoltre manca un controllo sull'user se è loggato tramite la sessione e un controllo sulla validità delle variabili (se esistono, come sono, lunghezza, il formato, etc...)
 
Discussioni simili
Autore Titolo Forum Risposte Data
F [MySQL] Warning 1265 data truncated for column... MySQL 5
M Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in PHP 6
B Warning: mysql_connect(): Access denied for user 'DIREZIONE'@'81.88.55.179' (using password: YES) PHP 6
G [PHP] Warning: Cannot modify header information - headers already sent by PHP 3
G [PHP] Problema - Warning: session_start() [function.session-start] PHP 9
G Warning: mysql_num_rows() che problema è? PHP 3
P Warning: mysqli_query() expects parameter 1 to be mysqli PHP 2
C ERRORE: Warning: move_uploaded_file()... come risolverlo? PHP 1
JackIlPazzo Warning: Invalid argument supplied for foreach() PHP 1
N warning su sessione PHP 2
F Warning: Invalid argument supplied for foreach() PHP 3
A Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given PHP 17
L Problema messaggio d'errore -Warning: mysqli_num_rows() expects parameter 1 to be mysqli_ etc etc... PHP 2
pup3770 Su Mac funziona - su windows da warning PHP 9
E Warning: session_start() PHP 1
A Warning: mysql_result() expects parameter 1 to be resource, boolean given MySQL 2
I Warning: Division by zero in Joomla 0
S Help : Warning: mail() [function.mail] PHP 2
H Warning: Cannot modify header information... PHP 6
P Warning email() PHP 116
catellostefano CLASSE PHP Warning: mysql_fetch_assoc() expects parameter 1 to be resource PHP 2
Frank10 Problema w3c warning HTML5 -.-" HTML e CSS 5
neo996sps Warning su redirect della pagina PHP 9
M Warning: mysql_query() expects parameter 2 to be resource, boolean given PHP 3
S Warning sulle sessioni, come fare? PHP 1
catellostefano Problema per richiamare file xml -- Warning: DOMDocument::load() [domdocument.load]: PHP 0
L Warning: mysql_fetch_assoc() expects parameter 1 to be resource, null given in .... PHP 2
L Warning: Cannot modify header information - headers already sent by... PHP 9
H Warning: session_start() [function.session-start]: Cannot send session cache limiter PHP 8
S errore warning mysql_ferch_array() e mysql_free_result() PHP 5
A Warning strano PHP 2
JellyBelly Warning Uso Rename PHP 2
M Warning: session_start(): Cannot send session cache... ???? PHP 5
W Warning: main(./WEB-INF/etc/config.php): PHP 3
M Warning: Cannot modify header information - headers already sent by (output started a PHP 1
C problema con un warning PHP 0
T colonne di tabelle mysql ordinate MySQL 0
M Sintassi "personalizzata" per mysql workbench? MySQL 0
A Mysql MySQL 0
F Ricreare struttura php+mysql su Xampp Apache 0
M Array associativi php su 2 campi mysql PHP 10
Z Controllo giorni MYSQL PHP 0
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
Z MySql injection PHP PHP 1
D controllare valore in tabella mysql PHP 0

Discussioni simili