2012-07-17 43 views
0

我的腳本是:Perl,以INET_ATON

foreach (@missing) { 
    my $ipdone = $_; 
    $sth = $dbh->prepare("UPDATE tbl_ips SET searched=\'1\' WHERE ip = '$ipdone'"); 
    $sth->execute(); 
} 

現在我們在mysql中改IP,因此它在INET_ATON格式,所以我們想:

("UPDATE tbl_ips SET searched=\'1\' WHERE ip = inet_aton('$ipdone')"); 

,但我不能使它工作。

我該怎麼做?

+2

'ip'的列類型是什麼? – ikegami 2012-07-17 20:07:52

+2

'使用Data :: Dumper的輸出是什麼;本地$ Data :: Dumper :: Useqq = 1;打印(自卸車($ ipdone));'? – ikegami 2012-07-17 20:09:07

+3

btw,那些'\'完全沒用。 – ikegami 2012-07-17 20:09:41

回答

1

「不能使它工作」是什麼樣子?怎麼了?

我可以想到的一件事可能會使原始查詢有效,但替換不這樣做將是如果$ipdone有尾隨空格;那些在ip = '$ipdone'將被選中時將被忽略,但會導致mysql的inet_aton返回NULL。