Newsgroup: it.comp.os.linux.development
Titolo: mysql + php primo tentativo

Ciao a tutti
QUesto è il mio primo tentativo di utilizzare php e mysql.
------------------------------------------------------------
<?php
  /* Connessione e selezione del database */
  $connessione = mysql_connect("localhost", "user", "password")
         or die("Connessione non riuscita: " . mysql_error());
  print "Connesso con successo";
  mysql_select_db("rubrica") or die("Selezione del database non riuscita");
 /* Esecuzione di una query SQL */
     $query = "SELECT * FROM anagrafica";
     $risultato = mysql_query($query) or die("Query fallita: " .
mysql_error() );
 /* Stampa dei risultati in HTML */
	          echo "<table>\n";
     while ($linea = mysql_fetch_array($risultato, MYSQL_ASSOC)) {
            echo "\t<tr>\n";
            foreach ($linea as $valore_colonna) {
               echo "\t\t<td>$valore_colonna</td>\n";
               }
            echo "\t</tr>\n";
            }
      print "</table>\n";
 /* Liberazione delle risorse del risultato */
    mysql_free_result($risultato);
 /* Chiusura della connessione */
  mysql_close($connessione);
?>
------------------------------------------------------------
mysql> describe anagrafica
    -> ;
+-------------+---------------------+------+-----+---------+----------------+
| Field       | Type                | Null | Key | Default | Extra
+-------------+---------------------+------+-----+---------+----------------+
| customer_id | bigint(20) unsigned | NO   | PRI | NULL    |
auto_increment |
| titolo      | char(8)             | YES  |     | NULL    |
| nome        | varchar(32)         | YES  |     | NULL    |    |
| cognome     | varchar(32)         | NO   |     | NULL    |    |
| indirizzo   | varchar(64)         | YES  |     | NULL    |    |
| citta       | varchar(32)         | YES  |     | NULL    |    |
| cap         | char(10)            | NO   |     | NULL    |    |
| telefono    | varchar(16)         | YES  |     | NULL    |    |
+-------------+---------------------+------+-----+---------+----------------+
8 rows in set (0,02 sec)
L'ho riportato tutto perché è breve.
Il problema sorge solo sulla query se la modifico da come è ora.
Io vorrei visualizzare tutto un record andando a selezionare quelli con
cognome o con nome = 'xxxx';
Se modifico la query in
     $query = "SELECT * FROM anagrafica where cognome like '%xxxx%";
mi appare solamente
"Connesso con successo" e nessuna info.
Altrimenti, con la query come descritta sopra ottengo
"Connesso con successo"
1 $cognome1 $nome1 $indirizzo1  ecc ecc
2 $cognome2 $nome2 $indirizzo2  ecc ecc
ecc...
Se eseguita manualmente la query funziona (cioè in shell Mysql).
Grazie
Giulio

      $query = "SELECT * FROM anagrafica where cognome like '%xxxx%";
]zac[
Forse facendo delle prove passo-passo:
- Prova una query con where cognome = uncognomecompletoesicuramenteesistente
- Poi prova una query con where cognome like 
uncognomecompletoesicuramenteesistente
- Poi prova con una query volutamente errata in modo da verificare se il
codice si accorge del problema o restituisce lo steso risultato.
Forse c'è qualche problema con gli  ' ' ' o con gli ' % ', o con
l'esecuzione della query.

      $query = "SELECT * FROM anagrafica where cognome like '%xxxx%";
Manca un'apice