Database Problema con mysql_fetch_assoc

Stato
Discussione chiusa ad ulteriori risposte.

ispanic

Utente Gold
9 Dicembre 2009
453
123
15
263
PHP:
$querallo= "insert into ciao (sessione) value ('$sessione')"; 
$querallo_1= mysqli_query($connessione, $querallo); 
$querallo_2= "SELECT sessione FROM ciao"; 
$querallo_3= mysqli_query($connessione, $querallo_2); 
$querallo_4= mysqli_fetch_assoc($querallo_3);
 $querallo_5= $querallo_4["sessione"];
 $filezza = fopen("ciao_2.html", "w+"); 
fwrite($filezza, "<b>".$querallo_5."</b>";
 fclose($filezza);

Non capisco cosa c'è di sbagliato, mi potreste illuminare e spiegare?
 
Nelle query in SQL si scrivono generalmente in maiuscolo i comandi, es. INSERT INTO, poi non è "value" ma "VALUES" ,
 
Posso dirti con sicurezza che value e values sono la stessa identica cosa, ho appena provato, comunque grazie mille per l'aiuto :)

Mi potresti aiutare un attimo sempre con questo script?

PHP:
"<?php session_start();
          include('connessione.php');
          $querallo_2 = "SELECT sessioni FROM ciao"; //-----> Qui come posso far sì che ci siano i stessi doppi // apici ma che non vadano in conflitto con il resto? 
          $querallo_3 = mysqli_query($connessione, $querallo_2);
          $querallo_4 = mysqli_fetch_assoc($querallo_3);
          while($querallo_4 = mysqli_fetch_assoc($querallo_3))
          { $querallo_5 = $querallo_4['sessioni'];
             echo $querallo_5; } ?>");
fclose($filezza);
 
Nelle query si usano gli apici ottenuTi da alt +96

mmm e in questo caso?

PHP:
fwrite($filt, "<html>"
."<head>"
."</head>"
."<body>"
."<?php"
."session_start();"
."include(´connessione.php´);"
."$tutto = $_SESSION[´ciao´];"
."$querazzo_2 = ´SELECT sessione FROM ciao´;"
."$querazzo_3 = mysqli_query($connessione, $querazzo_2); ---> /*PHP Catchable fatal error:  Object of class mysqli could not be converted to string */
."while($querazzo_4 = mysqli_fetch_assoc($querazzo_3))"
."{ $querazzo_5 = $querazzo_4[´sessione´];"."echo $querazzo_5; } ?>"
."</body>"
."</html>");

Come posso risolvere? ho mesos l'errore vicino.. sto un po' impazzendo devo dire
 
allora, gli apici ` si usano nelle query, non so se in PHP vengono lo stesso considerate, ma comunque ti consiglio di evitare, secondo, non ha senso fare questo:
"<html>"
."<head>"
."</head>"
."<body>"
puoi scrivere direttamente "<html><head></head><body>" , poi non ho ben capito cosa devi fare, cioè , per esperienza personale ti consiglio di utilizzare file_put_contents , poi se tu vuoi inserire quella parte come testo , ovvero che il codice conterrà anche i tag <?php ecc e non i valori del risultato della query, ti basta metterli tutti in una variabile stringa, usando una notazione diversa (herodoc) ti consiglio di fare:
Codice:
<?php
/* inizio stringa */
$str = <<<EOD 
Testo della stringa, anche codici PHP , per inserire variabili ovvero che vuoi che visualizzi il valore della variabile, ti basta mettere {$nomevariabile} 
EOD ; // fine stringa
?>
per maggiori informazioni tieni: PHP: Strings - Manual
 
Scusami ma non capendo molto bene l'inglese trovo un bel po' di difficoltà "file_put_contents()" non è uguale alle tre funzioni che ho usato io?
mi potresti fare un abbozzo fatto un po' meglio di <<<EOD ?
Non l'ho proprio mai usato
 
vabbè si, però con fwrite devi usare fopen e impostare il tipo di connessione , con file_put_contents non devi impostare nessuna connessione, ma comunque sonos celte del programmatore, aòlla fine va bene anche come hai fatto tu.
Comunque, <<<EOD utilizza il sistema herodoc, viene utilizzato quando immagazzinare stringhe molto grandi, facciamo un esempio:
Io ho questo testo:

nome : " giulio " ; cognome ' non lo so '

Mettiamo caso che tu devi salvare questo testo in una variabile, questo testo è relativamente piccolo ma è per farti capire, metti caso che tu hai un testo del genere con 10mila nomi e cognomi, se tu vorresti immagazzinare la stringa in un metodo normale faresti:
Codice:
$stringa = "nome : \" giulio \" ; cognome ' non lo so ' ";
Come noterai ho inserito i \ , il carattere di escape , perchè aprendo la stringa con gli apici " , se non metto quel carattere, per PHP la mia stringa sarebbe stata "nome : " e poi mi avrebbe dato errore di sintassi. il fatto è che tu , per ogni apice, dovresti mettere una \ e se come detto da me prima, hai 10mila righe di quello, mica puoi stare a mettere per ogni riga i \ , quindi si ricorre al metodo herodoc.
Basta mettere , un <<<EOD all'inizio della stringa, poi la stringa completa, e infine EOD; , come esempio:
Codice:
$stringa = <<<EOD 
nome : " giulio " ; cognome ' non lo so ' 
EOD;
E poi, ti sconsiglio di mettere grandi porzioni di testi direttamente nella funzioni, perchè creano confusione, comunque io non ho capito se tu, vuoi inserire i dati che ottieni dalla query, o direttamente il codice che mi hai msotrato sopra
 
WTF??? Se devi concatenare una stringa usa l'operatore creato appositamente per questo ovvero il . tra le variabili e la stringa...

Ma diciamo che
fwrite($filt, "<html>"
."<head>"
."</head>"
."<body>"
."<?php"
."
session_start();"
."
include(´connessione.php´);"
."
$tutto = $_SESSION[´ciao´];"
."
$querazzo_2 = ´SELECT sessione FROM ciao´;"
."
$querazzo_3 = mysqli_query($connessione, $querazzo_2); ---> /*PHP Catchable fatal error: Object of class mysqli could not be converted to string */
."while($querazzo_4 = mysqli_fetch_assoc($querazzo_3))"
."{ $querazzo_5 = $querazzo_4[´sessione´];"."echo $querazzo_5; } ?>"
."</body>"
."</html>");

Non ha veramente alcun senso :\
 
Stato
Discussione chiusa ad ulteriori risposte.