Salve a tutti ho un nuovo problema con uno script php. Tramite un form html devo creare una query personalizzata. Per far questo ho usata la funzione . per le stringhe. Provando la query sembra corretta pero' mi da un errore, che non ho idea da dove provenga, spero mi potrete aiutare ciao...
codice:<? $title = "Details of the Top conversation, you choose:"; include ("header.inc"); echo " "; $sql = "\"SELECT "; $mac_src = $_GET['mac_src']; $mac_dst = $_GET['mac_dst']; $ip_src = $_GET['ip_src']; $ip_dst = $_GET['ip_dst']; $src_port = $_GET['src_port']; $dst_port = $_GET['dst_port']; $ip_proto = $_GET['ip_proto']; $packets = $_GET['packets']; $bytes = $_GET['bytes']; $stamp_inserted = $_GET['stamp_inserted']; $stamp_updated = $_GET['stamp_updated']; if ($mac_src == 'mac_src') $sql .= " mac_src, "; if ($mac_dst == 'mac_dst') $sql .= " mac_dst, "; if ($ip_src == 'ip_src') $sql = $sql . " ip_src, "; if ($ip_dst == 'ip_dst') $sql .= " ip_dst, "; if ($src_port == 'src_port') $sql .= " src_port, "; if ($dst_port == 'dst_port') $sql .= " dst_port, "; if ($ip_proto == 'ip_proto') $sql .= " ip_proto, "; if ($packets == 'packets') $sql .= " packets, "; if ($bytes == 'bytes') $sql .= " bytes, "; if ($stamp_inserted == 'stamp_inserted') $sql .= " stamp_inserted, "; if ($stamp_updated == 'stamp_updated') $sql .= " stamp_updated, "; $sql = substr($sql, 0, -2); $sql .= " FROM acct_eth3 LIMIT 0,10\""; echo $sql; echo " "; echo " "; echo " "; $result = mysql_query($sql, $db ); echo "<table width=40% height=20% align = center border =1\n"; echo "<tr><td><h3> Source port</td><td><h3>Destination port</td><td><h3> Ip protocol</td><td><h3> Bytes<td></td></tr>\n"; while ($myrow = mysql_fetch_array($result)){ printf ("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</tr>\n",$myrow["mac_dst"], $myrow["src_port"], $myrow["dst_port"], $myrow["src_port"], $myrow["dst_port"], $myrow["ip_proto"], $myrow["bytes"]); } echo "</table>"; echo " "; echo " Torna alla Pagina dei Top_talkers\n"; include ("bottom.inc"); ?>

Rispondi quotando