phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Estrarre dati da una tabella mysql chiamata order

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Rispondi
Madera
Utente
Utente
Messaggi: 8
Iscritto il: 25/06/2014, 20:06
Sesso: Maschio

Estrarre dati da una tabella mysql chiamata order

Messaggio da Madera » 01/07/2014, 20:03

Ciao a tutti!

Una domanda veloce sperando che sia un problema banale e risolvibile al volo...

Nel mio database ho una tabella chiamata "order" (sono tabelle di opencart) e dovrei estrarre dei dati da questa tabella.

il problema è che quando vado a creare la mia query

Codice: Seleziona tutto

$mysql="SELECT * FROM order";
mi restituisce il seguente errore (suppongo perché venga interpretato come "ordine" tipo order by e non come nome della tabella)

Codice: Seleziona tutto

Errore nella query : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near "order" at line 1
Ho provato ad inserire anche order tra apici ma il risultato è lo stesso.

Si può definire la tabella order come nome e non come funzione?
Vorrei evitare di rinominarla perché altrimenti dovrei andare a modificare tutti i vari riferimenti della piattaforma...
Ringrazio tutti per la disponibilità
Ciao!

Avatar utente
Anto
Utente
Utente
Messaggi: 1106
Iscritto il: 04/02/2013, 21:53
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
Contatta:

Re: Estrarre dati da una tabella mysql chiamata order

Messaggio da Anto » 01/07/2014, 22:46

Ciao,
verifica che il nome della tabella sia corretto, inserisci le parentesi tonde ed utilizza una variabile per memorizzare il risultato.
Ricorda che MySQL è case-sensitive.

La seguente query non è semanticamente valida se mia_colonna non è una colonna della tabella mia_tabella, quindi mysql_query() fallisce e restituisce FALSE:

Esempio mysql_query()

Codice: Seleziona tutto

<?php
$risultato = mysql_query("SELECT mia_colonna FROM mia_tabella")
    or die("Query non valida: " . mysql_error());
?>
Puoi evitare di utilizzare or die("Errore: " . mysql_error());

Codice: Seleziona tutto

<?php
$risultato = mysql_query("SELECT mia_colonna FROM mia_tabella");
?>

Madera
Utente
Utente
Messaggi: 8
Iscritto il: 25/06/2014, 20:06
Sesso: Maschio

Re: Estrarre dati da una tabella mysql chiamata order

Messaggio da Madera » 02/07/2014, 10:15

Ciao Anto,
grazie della risposta ma purtroppo l'errore persiste e premetto che il nome della tabella è corretto.

Questo era il codice che usavo io:

Codice: Seleziona tutto

// preparo la query
$mysql= operatori("SELECT * FROM order");

// invio la query
$result = mysql_query($mysql);

// controllo l'esito
if (!$result) {
  die("Errore nella query $query: " . mysql_error());
}

while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) { 
 
 $idordine= $row['order_id']; 
 $operatore= $row['Operatore'];


echo "Id: <strong>".$idordine."</strong>"; 
echo " | Operatore: <strong>".$operatore."</strong>"; 

echo "<hr />";
echo "<br/>"; 
     
} 
Poi ho provato con quello che mi hai segnalato tu:

Codice: Seleziona tutto

$risultato = mysql_query("SELECT * FROM order")
    or die("Query non valida: " . mysql_error());

while ($row= mysql_fetch_array($risultato, MYSQL_ASSOC)) { 
 
 $idordine= $row['order_id']; 
 $operatore= $row['Operatore'];


echo "Id: <strong>".$idordine."</strong>"; 
echo " | Operatore: <strong>".$operatore."</strong>"; 

echo "<hr />";
echo "<br/>"; 
     
}
Ma purtroppo mi restituisce lo stesso errore, è proprio come se il nome della tabella fosse sbagliato. Ho provato infatti a duplicare la tabella rinominandola in order_bk e funziona tutto correttamente.
Secondo me è perché "order" lo riconosce come comando e non come nome della tabella.

Come la vedi?

Grazie mille della disponibilità!

Madera
Utente
Utente
Messaggi: 8
Iscritto il: 25/06/2014, 20:06
Sesso: Maschio

Re: Estrarre dati da una tabella mysql chiamata order

Messaggio da Madera » 03/07/2014, 16:44

Dovrei aver risolto scrivendo la mia query in questo modo:

Codice: Seleziona tutto

$mysql="SELECT * FROM `order` ";
Grazie a tutti comunque!

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 39 ospiti