【发布时间】:2018-10-25 17:13:37
【问题描述】:
给了我一个项目,拿了很多php5代码,更新到php7(主要是把所有mysql_函数改成mysqli_)。特别是对于这个文件,我需要显示来自 3 个不同数据库的不同信息列。如果这只是一个查询,那么我可以将我的 html 放在一个循环中,但我正在跨多个数据库获取信息。
在检查我的 apache error.log 时,我不断收到 html 中每个变量的“未定义变量”。
如何正确获取这 3 个查询的结果,以便稍后在页面上使用?
注意:我的配置文件是正确的,因为所有其他页面都可以访问这些数据库。
$Master_Status_Query = "show master status";
$NS10_Status_Query = "show slave status";
$NS11_Status_Query = "show slave status";
$master_result = $master_conn->query($master_conn, $Master_Status_Query);
$ns10_result = $ns10_conn->query($ns10_conn, $NS10_Status_Query);
$ns11_result = $ns11_conn->query($ns11_conn, $NS11_Status_Query);
if($master_result === FALSE) {
print '<p class="input--error">Something broke: ' . mysqli_error($master_conn);
} else {
foreach($master_result as $master_row) {
$Master_Log_Name = $master_row['File'];
$Master_Log_Position = $master_row['Position'];
}
}
if($ns10_result === FALSE) {
print '<p class="input--error">Something broke: '. mysqli_error($ns10_conn);
} else {
foreach($ns10_result as $ns10_row) {
$NS10_Log_Name = $ns10_row['Master_Log_File'];
$NS10_Log_Position = $ns10_row['Read_Master_Log_Position'];
$NS10_Seconds_Behind_Master = $ns10_row['Seconds_Behind_Master'];
}
}
if($ns11_result === FALSE) {
print '<p class="input--error">Something broke: '.mysqli_error($ns11_conn);
} else {
foreach($ns11_result as $ns11_row) {
$NS11_Log_Name = $ns11_row['Master_Log_File'];
$NS11_Log_Position = $ns11_row['Read_Master_Log_Position'];
$NS11_Seconds_Behind_Master = $ns11_row['Seconds_Behind_Master'];
}
}
mysqli_close($master_conn);
mysqli_close($ns10_conn);
mysqli_close($ns11_conn);
echo "<table id=\"replication_table\">";
echo "<tr><td colspan=\"3\"> </td></tr>";
echo "<tr><td colspan=\"3\" align=\"center\">Server Replication Status</td></tr>";
echo "<tr><td colspan=\"3\"> </td></tr>";
echo "<tr><td colspan=\"3\"> </td></tr>";
echo "<tr bgcolor=\"darkblue\"><td width=\"30%\"align=\"left\"><font color=\"white\">Server</font></td><td width=\"30%\"align=\"left\"><font color=\"white\">Log File</font></td><td colspan=\"3\" width=\"30%\"align=\"left\"><font color=\"white\">Log Position</font></td></tr>";
echo "<tr><td align=\"left\">Master</td><td align=\"left\">$Master_Log_Name</td><td align=\"left\">$Master_Log_Position</td><td align=\"left\"> </td><td align=\"left\"> </td></tr>";
echo "<tr><td align=\"left\">NS10 </td><td align=\"left\">$NS10_Log_Name </td><td align=\"left\">$NS10_Log_Position </td><td align=\"left\">$NS10_Seconds_Behind_Master</td><td align=\"left\"> </td></tr>";
echo "<tr><td align=\"left\">NS11 </td><td align=\"left\">$NS11_Log_Name </td><td align=\"left\">$NS11_Log_Position </td><td align=\"left\">$NS11_Seconds_Behind_Master</td><td align=\"left\"> </td></tr>";
echo "<tr><td align=\"left\"><button class='btn btn-default' type=\"button\" onClick=\"myRef = location.replace('db-integrity-check.php','mywin');\">Back To Menu</button></td></tr></br>";
echo "</table>";
【问题讨论】: