0

IP アドレスのアクティビティを監視するアプリケーションを開発しています。Ubuntu 12.04 で LAMP スタックを使用しています。mysql データベースで、ip と mac の 2 つの列を持つテーブルを作成しました。どちらもデータ型が varchar です。私はいくつかのデータをテーブルに入れ、select * from tableを使用すると、これが結果です

 ip                    mac
 1                       2
1.10.0.0.43       00 19 78 D3 R5 ED
8.9                 32.22

中央の行は、スイッチからのエントリがどのように見えるかを示しています。最初と 3 番目は、テスト目的でそれらを配置しました。

マッチングと検索を行うためのphpコードを書きましたが、それは次のとおりです

<?php

    $var = $_REQUEST['IP'];    
    echo $var;

    mysql_connect( "localhost", "root", "mysql" ) or die("Unable to connect to the database");
    mysql_select_db( "syslog" );

    $result = mysql_query( "SELECT ip,mac FROM arp_table where ip=$var"  );

    $row = mysql_fetch_row( $result );

    print_r( $row );

?>

フォームに 1 を入力すると、結果は 1 Array([0]=>1[1]=>2) の形式で OK で、8.9 を入力すると、出力も OK です。しかし、1.10.0.0.43 を入力すると、出力は変数のエコーのみであり、配列は取得されません。なぜこれがそうであるかの考えを持っている人はいますか?

4

2 に答える 2

0

これを試して:-

<?php
    $result = mysql_query( "SELECT ip,mac FROM arp_table where ip='".$var."'" );
    $row = mysql_fetch_row( $result );
    print_r( $row );
?>
于 2013-09-04T10:38:27.600 に答える