Php ping IP并在mysql数据库中保存结果
我正试图编写代码从一个表中获取ip,ping并插入ip和另一个表的响应时间。 下面是我写的。它回显ip和响应时间,但仅将ip插入表中。响应时间为空 模式Php ping IP并在mysql数据库中保存结果,php,mysql,Php,Mysql,我正试图编写代码从一个表中获取ip,ping并插入ip和另一个表的响应时间。 下面是我写的。它回显ip和响应时间,但仅将ip插入表中。响应时间为空 模式 +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+-----
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(6) | NO | PRI | NULL | auto_increment |
| ip | varchar(30) | NO | | NULL | |
+-----------+-------------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+-------------------+-------+
| Log_time | timestamp | NO | | CURRENT_TIMESTAMP | |
| ip | varchar(30) | NO | | NULL | |
| Ping_time | varchar(30) | YES | | NULL | |
代码
每次在新代码中使用数据库扩展时,它都会被弃用,并且已经存在多年,在PHP7中永远消失。如果你只是在学习PHP,那么就把精力花在学习PDO
或mysqli
数据库扩展和准备好的语句上。一些合理的代码缩进将是一个好主意。它帮助我们阅读代码,更重要的是,它将帮助您为自己的利益调试代码。您可能会被要求在几周/几个月内修改此代码,最终您会感谢我。@RiggsFolly您自己掐死他们了吗?@RiggsFolly可能,但我认为这将成为一个永恒的故事。让SO来检测Q中的mysql\uuquot>的使用情况,自动生成关于mysql\uquot>的信息,这样我们就不必每次都将其发布到评论中了。这个脚本到底是怎么回事?这完全没有道理。
<?php
// Connects to your Database
mysql_connect("localhost","xxx","xxx");
//database connection
mysql_select_db("xxxxx") or die(mysql_error());
$sql="select * from iplist where id=(SELECT MAX(id) FROM iplist)";
$data = mysql_query($sql) or die(mysql_error());
//asing ip to variables
$row = mysql_fetch_assoc($data);
$id=$row["id"];
$id1=$id;
while($id1>0) {
$sql="select ip from iplist where id=($id1)";
$data = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_assoc($data);
$ip=$row["ip"];
//ping ips
$ip_ad=$ip;
$ping = system("ping -c 1 $ip_ad | head -n 2 | tail -n 1 | awk '{print $7}'", $ping_time);
print $ping_time[0]; // First item in array, since exec returns an array.
$responcetime = $ping_time[0];
$dilay=$responcetime;
echo $ip;
echo $dilay;
//send data to database
//inserting data order
$order = "INSERT INTO Ping_log (ip, Ping_time) VALUES ('$ip','$dilay')";
//declare in the order variable
$result = mysql_query($order); //order executes
$id1 --;
}
?>