Php 如何将数据插入foreach循环中的数组?
这些代码用于对不同的服务器执行相同的查询。我使用Php 如何将数据插入foreach循环中的数组?,php,mysql,Php,Mysql,这些代码用于对不同的服务器执行相同的查询。我使用foreach循环连接不同的服务器,并使用updateDB函数执行查询我需要将失败的连接记录到阵列中 foreach ($lines as $value) { $servername = $value; $conn = new mysqli ($servername, $username, $password, $database); if ($conn->connect_error) { echo $serv
foreach
循环连接不同的服务器,并使用updateDB
函数执行查询我需要将失败的连接记录到阵列中
foreach ($lines as $value) {
$servername = $value;
$conn = new mysqli ($servername, $username, $password, $database);
if ($conn->connect_error) {
echo $servername."Connection failed:" . $conn->connect_error."<br>";
$errorMessage = array("Servername" => $servername , "Error" => $conn->connect_error);
}
else {
echo $servername." ".$database." Connected Succesfully <br>";
updateDB($data, $servername, $conn);
}
$conn-> close();
}
但是,当我打印我的数组时,它只显示:
Array ( [0] => 192.168.0.47 [1] => No route to host )
前3条记录不在数组中。
我知道有点不对劲 $errorMessage=array(“服务器名”=>$Servername,“错误”=>$conn->connect\U错误)
但我已经找遍了,找不到解决办法。请帮忙。TQ您应该添加到数组中,而不是在每个循环中写入新的数组
$errorMessages = array();
foreach ($lines as $value) {
$servername = $value;
$conn = new mysqli ($servername, $username, $password, $database);
if ($conn->connect_error) {
echo $servername."Connection failed: ".$conn->connect_error;
$errorMessages[] = array("Servername" => $servername , "Error" => $conn->connect_error);
} else {
echo $servername." ".$database." Connected Succesfully";
updateDB($data, $servername, $conn);
}
$conn-> close();
}
$errorMessages=array();
foreach(行作为$value){
$servername=$value;
$conn=newmysqli($servername、$username、$password、$database);
如果($conn->connect\u错误){
echo$servername.“连接失败:”.$conn->connect\u错误;
$errorMessages[]=数组(“服务器名”=>$Servername,“错误”=>$conn->connect\U错误);
}否则{
echo$servername.“.”$database.“已成功连接”;
updateDB($data、$servername、$conn);
}
$conn->close();
}
$errorMessages
将包含所需的错误消息。您需要在现有数组元素中添加新数组,而不是覆盖以前的数组
$errorMessage[] = array("Servername" => $servername , "Error" => $conn->connect_error);
个人始终使用阵列推送:
array_push($errorMessages, array("Servername" => $servername , "Error" => $conn->connect_error));
这会将一个元素添加到数组的末尾。有关更多信息,请参见在
foreach
循环之前声明一个数组,并附加$errorMessage
,以找到解决方案,以便将所有记录保存在数组中$errorMessage[]=array(“Servername”=>$Servername,“Error”=>$conn->connect\u Error)代码>这可能会解决您的问题。哪些记录?什么阵列?
array_push($errorMessages, array("Servername" => $servername , "Error" => $conn->connect_error));