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");
?>