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 を入力すると、出力は変数のエコーのみであり、配列は取得されません。なぜこれがそうであるかの考えを持っている人はいますか?