PDA

View Full Version : [PHP] maledetto php 5!!


merlin
13-12-2005, 13:12
ciao a tutti!

il server di un sito a cui sto lavorando ha pensato bene di trasferirsi notte tempo, cambiando la versione PHP da 4 a 5.

manco a dirlo, lo script che prima andava perfettamente, ora non va più un kaiser.

se mi dessi una mano mi faresi un grosso favore...

questo è il codice maledetto

<?php include('../common/menugenerale.php'); ?>
<?php include('menusezione.php');
include ('config.inc.php');
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

if ($id == 'tutto') {
$query = "SELECT * FROM iconografia WHERE ico_hs = '' ORDER BY ico_nomefile";
}
else
$query = "SELECT * FROM iconografia where ico_hs = $id ORDER BY ico_nomefile";
$result = mysql_query($query, $db) or die(mysql_error());?>

e questo è il messaggio di errore che ricevo:

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 BY ico_nomefile' at line 1

qualcuno mi può aiutare pliz?!?!? non ci capisco più nulla, sto fondendo!!!

bertoz85
13-12-2005, 15:45
non conosco perfettamente php ma secondo me c'è qualche casino con le due virgolette nella prima query, o ancor + probabile con la sostituzione della variabile $id nella seconda variabile

secondo me potresti fare nella seconda query:
$query = "SELECT * FROM iconografia where ico_hs = ".$id." ORDER BY ico_nomefile";

p.s. l'operatore di concatenazione è ancora e unicamente il punto??? che eresia!!!

merlin
13-12-2005, 15:56
grazie mille bertoz
nel frattempo ho risolto
nel fare l'upgrade del server hanno settato il register_globals su OFF
quindi è bastato sostituire $id con $_GET[id] e ora funge

grazie mille!

Fenomeno85
13-12-2005, 16:50
p.s. l'operatore di concatenazione è ancora e unicamente il punto??? che eresia!!!

eresia de che? esiste anche il + ma non capisco questo disprezzo per il .


~§~ Sempre E Solo Lei ~§~

bertoz85
13-12-2005, 17:07
eresia de che? esiste anche il + ma non capisco questo disprezzo per il .


~§~ Sempre E Solo Lei ~§~
ah ok allora esiste anche il + ....

usare il "." come operatore di concatenazione è un'eresia secondo me perchè il punto ha un altro significato uguale in molti altri linguaggi tranne il php, e non è assolutamente logico l'uso come operatore di concatenamento (posso dire che sommo due stringhe "+", che faccio una stringa E l'altra "&", ma il punto proprio non ce lo trovo)...

e poi se inizi a concatenare un espressione con variabili e parentesi (e quindi usi . $ ( ) ) alla fine diventi scemo a vedere cosa hai combinato

Fenomeno85
13-12-2005, 17:11
ma per me non crea nessun problema.

~§~ Sempre E Solo Lei ~§~