Errori su variabili dell'insert

paperinik4

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

Chiedo aiuto. Odio il cartellino giallo che mi da il mio editor. Vi posto due codici. Uno si chiama connetti.php e l'altro è la query per inserire i dati. In tale query, c'è il cartellino giallo datomi dall'editor. Considerate che funziona tutto alla perfezione. Quindi non capisco il perchè di tale cartellino. Se mi potete risolvere ilcaso, ve ne sarei grato.

Il codice connetti.php (ovviamente i dati di connessione sono cancellati):

PHP:
<?php

$host     = 'xxx';
$user     = 'xxx';
$password = 'xxx';
#$db_name= 'prova';

$link = mysql_connect($host, $user, $password);
if (!$link) {
	die ('Non riesco a connettermi: ' . mysql_error());
}

else
{
       #$db_selected = mysql_select_db($DB_name, $link);
	$db_selected = mysql_select_db("prova", $link);
       if (!$db_selected) {
              die ("Errore nella selezione del database: " . mysql_error());
       }
       else
       {
             # echo "Ti sei connesso";
       }
}
?>

Questa è la stringa dell'insert into. Ripeto, funziona ma mi da fastidio il cartellino giallo senza alcun motivo apparente. Eccola:


PHP:
$q_i=mysql_query("INSERT INTO utenti(nome, cognome, username, email) VALUES('$nome','$cognome','$username','$email')");
			echo "<h1> <br>Utente registrato correttamente. </h1>";//e torno al form
			echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";

}
}
?>

La stringa inizia : $q_i=mysql_query ecc.ecc. Chi mi può aiutare grazie...
 
ciao
da quello che ho capito non è la connessione che da errore, la query di insert, vero?
l'errore è un warning di php? se si postalo
poi prova a dividere la query e mettere dei var_dump per vedere dove sono gli errori
PHP:
<?php
//..........
$query="INSERT INTO utenti(nome, cognome, username, email) VALUES('$nome','$cognome','$username','$email')";
var_dump($query);//qui dovresti vedere se la query si forma come dovrebbe
$q_i=mysql_query($query);//qui se registra, se bool false errore, se resuorce... è a posto
var_dump($q_i);
            echo "<h1> <br>Utente registrato correttamente. </h1>";//e torno al form
            echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
}
//....
?>
eventualmente posta i risultati dei var_dump

p.s.
visto così non vedo errori di sintassi
 
Ciao

Ciao,

Il bello è che non da nessun errore, solo a fianco dove c'è la numerazione un triangolino con un "!". Il resto funziona a meraviglia, difatti inserisce tranquillamente i dati è questo che non capisco. Come s'inseriscono i var_dum, mi faresti un esempio per favore ???? Non gli ho mai capiti. E' come se la variabile $q_i ecc. ecc non gli piacesse.
 
Che editor usi? Passando col mouse sul triangolino dovrebbe uscirti il tipo di errore, vedi cosa dice.
 
ciao,
secondo me la posizione del meta è sbagliata
L’elemento Meta va inserito nel documento HTML tra i tag <HEAD> </HEAD> ...
probabilmente non viene validato dal w3c se in un altra posizione

prova a sostituirlo con

PHP:
header("refresh:4;url=".htmlspecialchars($_SERVER['PHP_SELF']));
 
ciao
guarda che con header si possono avere problemi di output html.
io uso il meta quando ci sono deglio output e non ho voglia di ridirigere il flusso.
p.s.
dove lo uso funzia, secondo me non è quello l'errore
 
ciao

Salve a tutti,

Vi rispondo domani con calma a tutti, perché attualmente sto con il cell. Ed un pó scomkdo. L'unica ridpodta che posdo dare é a marco, dicendk che adopero il netbeans 7.1 in locslhodt. E domani postk il tipo fi errore che mi srgnala dal triangolino.
Per ora vi ringrazio a tutti e vi auguro una buona serata e una buona notte a tutti
 
Ciao

Che editor usi? Passando col mouse sul triangolino dovrebbe uscirti il tipo di errore, vedi cosa dice.

Ciao Marco,

Allora, l'errore purtroppo non si può copiare e incollare. Però in termini brevi (essendo in inglese e la traduzione non è il mio forte), ti scrivo quello che ho copiato su blocco notes, direttamente in inglese. Così, tu magari riesci a capire meglio cosa intende.

Variable $q_i seems to be unused in its scope
Fammi sapere per favore quello che dice ok ???? Grazie.
 
Ciao

Salve a tutti,

Per tutti quelli hce mi hanno risposto, se passo sul triangolino dove c'è segnalato l'errore, mi compare questa scritta in inglese:

Variable $q_i seems to be unused in its scope

Adopero netbeans 7.1+jdk Ora non so se è un errore dell'editor, oppure è impostata male la variabile. Grazie a tutti per la collaborazione.

P.S.: So na pippa in in inglese, se per favore mi aiutate a tradurre ve ne sarei grati, anche se più o meno credo di aver capito cosa intenda.

Per il moderatore cricric, proverò anche la tua soluzione. Sono attualmente a Moena (quindi in vacanca), ho visto che sei di trento. Lo proverò nel pomeriggio. Borgo, secondo te quale potrebbe essere l'errore ????

P.S.2: Ho provato a cambiare variabile, mettendo una variabile che stesse nel contesto del file connetti.php, se non erro $link, ma nemmeno con quella elimino l'errore.

Per tutti, anche se da errore, funziona correttamente e memorizza i dati nella tabella.
 
ciao

Ciao Marco_rx,

Ho fatto di meglio. Ho isolato il caso e credo di aver risolto il problema. Oggi pome ti do conferma della prova che ho fatto e a occhio e croce, credo di aver individuato l'inghippo. I controlli non li p
osso eliminarev, sono necessari per la sicurezza. A dopo.
 
Ciao

Ciao,

Ho provato come stavo facendo stamatina, prima di andare via, ma niente nessun risultato. La cosa mi sta dando ai nervi. Scusa la formula per l'insert è giusta ????

PHP:
$q_i=mysql_query("INSERT INTO email(email) VALUES('$email')");

Fammi sapere per favore..... Grazie.
 
Ciao

Ciao Marco,

Ci rinuncio, ho preso anche degli esempi da diverse situazioni, ma mi da lo stesso l'errore, quindi o è un problema dell'editor versione nuova o non so. L'importante è che vada. Alla fine l'inghippo lo troverò. Comunque grazie lo stesso, per la collaborazione.

P.S.: Sono andato a vedere quei due link che mi hai segnalato ma non ci ho capito na mazza (scusa il termine). Bye e grazie.
 
Ciao

ciao
da quello che ho capito non è la connessione che da errore, la query di insert, vero?
l'errore è un warning di php? se si postalo
poi prova a dividere la query e mettere dei var_dump per vedere dove sono gli errori
PHP:
<?php
//..........
$query="INSERT INTO utenti(nome, cognome, username, email) VALUES('$nome','$cognome','$username','$email')";
var_dump($query);//qui dovresti vedere se la query si forma come dovrebbe
$q_i=mysql_query($query);//qui se registra, se bool false errore, se resuorce... è a posto
var_dump($q_i);
            echo "<h1> <br>Utente registrato correttamente. </h1>";//e torno al form
            echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
}
//....
?>
eventualmente posta i risultati dei var_dump

p.s.
visto così non vedo errori di sintassi

Ciao Borgo,

Perdonami, solo ora ho visto la tua risposta. Comunque ho risolto. Ho sostituito la variabile $q_i con $query, è sparito l'errore. Inoltre, questo è il risultato del primo var_dump che ti posto. Eccoli qua: scusa la volgarità di come mi sono registrato, ma quando fa così mi fa girare parecchio:

string(113) "INSERT INTO utenti(nome, cognome, username, email) VALUES('rotto','inculo','rottoinculo','rottoinculo@gmail.com')" bool(true)

Mi dici il significato finale ??? Non riesco a comprenderlo. Grazie.
 
ciao
dici questo bool(true) ?
se si è il risulato del var_dump($q_i) che dice che la query è un valore boeliano TRUE cioè la query è andata a buon fine.
 

Discussioni simili