Ciao a tutti sono nuovo del forum e vi parlo del mio problema:
in sostanza è questo >> Colonna sconosciuta 'pc128354' in 'where clause' <<
il codice php è questo:
<html>
<body>
<div style="text-align: center;"><span style="font-family: Comic Sans MS; color:red;"><div style="text-align: center;">LETTURA DELLE INFORMAZIONI</div></span></DIV>
<?php
$host="localhost";
$user="root";
$pass="";
$nomedb="Archivio";
$conn=mysql_connect($host, $user, $pass) or die ("Non riesco a connettermi al DB");
mysql_select_db($nomedb) or die("Non riesco a selezionare il DB");
$query=$_POST["query"];
$info=$_POST["info"];
switch($query)
{
case 'all':
{
$dati=mysql_query("select * from archivio order by matricola desc");
while($array=mysql_fetch_array($dati))
{
print"$array[matricola]";
print"$array[nome]";
print"$array[macadd]";
print"$array[ip]";
print"$array[iprupar]";
print"$array[dhcp]";
print"$array[sn]";
print"$array[modello]";
print"$array[so]";
print"$array[hd]";
print"$array[ram]";
print"$array[proc]";
print"$array[ass]";
echo"
";
}
}break;
case 'mat':
{
$dati=mysql_query("select * from archivio where archivio.matricola=$info");
while($array=mysql_fetch_array($dati))
{
print"$array[matricola]";
print"$array[nome]";
print"$array[macadd]";
print"$array[ip]";
print"$array[iprupar]";
print"$array[dhcp]";
print"$array[sn]";
print"$array[so]";
print"$array[hd]";
print"$array[ram]";
print"$array[proc]";
print"$array[ass]";
echo"
";
}
}break;
case "nome":
{
$dati=mysql_query("select * from archivio where nome=$info");
while($array=mysql_real_escape_string(stripslashes ($dati))or die(mysql_error()))
{
print"$array[matricola]";
print"$array[nome]";
print"$array[macadd]";
print"$array[ip]";
print"$array[iprupar]";
print"$array[dhcp]";
print"$array[sn]";
print"$array[modello]";
print"$array[so]";
print"$array[hd]";
print"$array[ram]";
print"$array[proc]";
print"$array[ass]";
echo"
";
}
}break;
case "ip":
{
$dati=mysql_query("select * from archivio where archivio.ip=$info");
while($array=mysql_fetch_array($dati)or die(mysql_error()))
{
print"$array[matricola]";
print"$array[nome]";
print"$array[macadd]";
print"$array[ip]";
print"$array[iprupar]";
print"$array[dhcp]";
print"$array[sn]";
print"$array[modello]";
print"$array[so]";
print"$array[hd]";
print"$array[ram]";
print"$array[proc]";
print"$array[ass]";
echo"
";
}
}break;
case "sn":
{
$dati=mysql_query("select * from archivio where archivio.sn=$info");
while($array=mysql_fetch_array($dati)or die(mysql_error()))
{
print"$array[matricola]";
print"$array[nome]";
print"$array[macadd]";
print"$array[ip]";
print"$array[iprupar]";
print"$array[dhcp]";
print"$array[sn]";
print"$array[modello]";
print"$array[so]";
print"$array[hd]";
print"$array[ram]";
print"$array[proc]";
print"$array[ass]";
echo"
";
}
}break;
case "mod":
{
$dati=mysql_query("select * from archivio where archivio.modello=$info");
while($array=mysql_fetch_array($dati)or die(mysql_error()))
{
print"$array[matricola]";
print"$array[nome]";
print"$array[macadd]";
print"$array[ip]";
print"$array[iprupar]";
print"$array[dhcp]";
print"$array[sn]";
print"$array[modello]";
print"$array[so]";
print"$array[hd]";
print"$array[ram]";
print"$array[proc]";
print"$array[ass]";
echo"
";
}
}break;
case "so":
{
$dati=mysql_query("select * from archivio where archivio.so=$info");
while($array=mysql_fetch_array($dati)or die(mysql_error()))
{
print"$array[matricola]";
echo"";
print"$array[nome]";
echo"";
print"$array[macadd]";
echo"";
print"$array[ip]";
echo"";
print"$array[iprupar]";
echo"";
print"$array[dhcp]";
echo"";
print"$array[sn]";
echo"";
print"$array[modello]";
echo"";
print"$array[so]";
echo"";
print"$array[hd]";
echo"";
print"$array[ram]";
echo"";
print"$array[proc]";
echo"";
print"$array[ass]";
echo"
";
}
}break;
case "ass":
{
$dati=mysql_query("select * from archivio where archivio.ass=$info");
while($array=mysql_fetch_array($dati)or die(mysql_error()))
{
print"$array[matricola]";
echo"";
print"$array[nome]";
echo"";
print"$array[macadd]";
echo"";
print"$array[ip]";
echo"";
print"$array[iprupar]";
echo"";
print"$array[dhcp]";
echo"";
print"$array[sn]";
echo"";
print"$array[modello]";
echo"";
print"$array[so]";
echo"";
print"$array[hd]";
echo"";
print"$array[ram]";
echo"";
print"$array[proc]";
echo"";
print"$array[ass]";
echo"
";
}
} break;
case "macadd":
{
$dati=mysql_query("select * from archivio where archivio.macadd=$info");
while($array=mysql_fetch_array($dati)or die(mysql_error()))
{
print"$array[matricola]";
echo"";
print"$array[nome]";
echo"";
print"$array[macadd]";
echo"";
print"$array[ip]";
echo"";
print"$array[iprupar]";
echo"";
print"$array[dhcp]";
echo"";
print"$array[sn]";
echo"";
print"$array[modello]";
echo"";
print"$array[so]";
echo"";
print"$array[hd]";
echo"";
print"$array[ram]";
echo"";
print"$array[proc]";
echo"";
print"$array[ass]";
echo"
";
}
}break;
}
mysql_close($conn);
?>
</body>
</html>
il problema è il seguente:
quando la variabile $query assume il valore di nome, ip, sn, mod, so, ass o macadd, a video mi viene visualizzato questo errore Colonna sconosciuta 'quello che cerco' in 'where clause'
molto probabilmete l'errore è dato dalla funzione mysql_fetch_array() e cercando su svariati manuali ho scoperto che per il confronto tra stringhe s usa la funzione mysql_real_escape_string(stripslashes(xxx)), ho provato a cambiare la funzione ma il risultato non cambia l'errore è sempre quello:
QUALCUNO MI SA AIUTARE ???
![]()