- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Formattazione dati presi da mysql
-
Formattazione dati presi da mysql
Salve, mi sono appena iscritto al forum xkè vedo persone ke mi potrebbero aiutare.
Premetto di masticare poco il linguaggio PHP ma di MySQL sono abbastanza preparato!Sto creando un piccolo database in PHP x l'inserimento dei dati e per farli poi stampare in una pagina PHP.
Effettuo la select ma al momento in cui voglio stampare i record del database mi esce questo tipo di errore:
Fatal error: Function name must be a string in C:\Programmi\EasyPHP 2.0b1\www\risultati.php on line 36
il codice completo:
<?php
// richiamo il file di configurazione
require 'config.php';// richiamo lo script responsabile della connessione a MySQL
require 'connect.php';// preparo la query
$query =("SELECT * FROM cliente");
//lancio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}// chiudo la connessione a MySQL
mysql_close();echo 'Query eseguita correttamente <br>';
echo '<a href = "webform.html"> clicca </a>qui per inserire un altro cliente';
echo "<table border='1'>";
echo "<tr> <th>Nome</th> <th>Cognome</th> </tr>";
// keeps getting the next row until there are no more to getwhile ($row = mysql_fetch_array($result)) {
//Print out the contents of each row into a table
echo "<tr><td>";
echo $row('nome');
echo "</td><td>";
echo $row['cognome'];
echo "</td></tr>";}
echo "</table>";
?>in attesa di risposte vi ringrazio cmq xkè guardando le vostre discussioni sto cominciando a imparare e "masticare" il linguaggio php!
grazie
arrivederci
-
ke sbadato ho individuato l'errore di sintassi ke stava nelle parentesi!!
ma cmq ora mi esce questo erroreNotice: Undefined index: nome in C:\Programmi\EasyPHP 2.0b1\www\risultati.php on line 36
uffiiiiiiiiiii xx:x
-
Ciao Kello e benvenuto nel ForumGT
Ti ho spostato i messaggi i un altro topic visto che l'argomento da trattare era diverso.
Un'altra cosa che ti chiederei è se possibile non usare troppe abbreviazioni, tipo: x, xchè, ke, ....
Ok...
ora vediamo se si può risolvere qualche problema
La riga 36 qual'è innanzi tutto ?
-
cmq la riga 36 è:
echo $row['nome'];
e mi esce l'errore: "Undefined index: nome ....ecc"
se è un problema di inizializzazione delle variabili potete indicarmi la sintassi corretta per inizializzare le variabili in questo codice??!!
scusate ma di PHP sono una schiappa !!!
-
Penso che il problema sia che non puoi chiudere la connessione al database con mysql_close() e dopo usare mysql_fetch_array($result).
-
ho provato a chiudere la connessione con close_mysql mettendola alla fine... ma il problema rimane!!!
se ci sono soluzioni aiutatemi al più presto!!!
grazie;)
-
ho provato anke ad utilizzare mysql_free_result() e mysql_result()
ma i miei tentativi sono andati a vuoto!!!nel post precedente mi sono impapokkiato cmq è msql_close() il metodo
sorry
-
Non avevo notato questo nel codice che hai postato all'inizio
echo $row('nome');
Deve essere con le parentesi quadre
echo $row['nome'];
Se hai fatto correzioni conviene che posti il codice modificato.
-
Si Gmassi avevo già precisato che l'errore stava nelle parentesi ma cmq il codice rimane questo e con questo anche l'errore visualizzato alla stampa dei risultati:
[PHP]
<?php
// richiamo il file di configurazione
require 'config.php';// richiamo lo script responsabile della connessione a MySQL
require 'connect.php';// preparo la query
$query =("SELECT * FROM cliente");
//lancio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}// chiudo la connessione a MySQL
mysql_close();echo 'Query eseguita correttamente <br>';
echo '<a href = "webform.html"> clicca </a>qui per inserire un altro cliente';
echo "<table border='1'>";
echo "<tr> <th>Nome</th> <th>Cognome</th> </tr>";
// keeps getting the next row until there are no more to getwhile ($row = mysql_fetch_array($result)) {
//Print out the contents of each row into a table
echo "<tr><td>";
echo $row['nome'];
echo "</td><td>";
echo $row['cognome'];
echo "</td></tr>";}
echo "</table>";
?>
[/PHP]se ci sono soluzioni sono sempre ben accettate!!
grazie buon lavoro!
-
Ciao Kello,
togli il mysql_close, oppure mettilo alla fine prima di "?>"
Hai quell'errore perchè non viene preso niente dal db, per il fatto che è chiuso.
Dimmi se funziona..
-
MZ ho provato anke a non kiudere la connessione!
i dati li prende ma sottoforma di stringa cioè, per ogni record che aggiungo mi esce quella stringa di errore: Undefined index....
non sarà mica un problema di inizializzazione di variabile?
se è si, mi potresti indicare come posso fare?? dato che ho trovato vari tutorial ma non ho capito molto bene!!!
il codice cmq rimane quello del post precedente...:bho:
-
Controlla bene anche i nomi dei campi nella tabella.
Se per esempio il campo si chiama Nome con la maiuscola e usi $row['nome'] avresti un errore Undefined index.
-
quoto gmassi, kello l'altra spiegazione possibile di quell'errore può essere dovuta a quanto suggerito da gmassi.