我想用PHP获取服务器上某个特定帐户上所有数据库的列表,因此我使用了从这个链接获取的以下PHP/MySQL:PHP - Get list of databases names

$db_conn = mysqli_connect('localhost', 'username', 'password');
//get a list of databases in the account
$result = mysqli_query($db_conn,"SHOW DATABASES");
//display results
while ($row = mysqli_fetch_array($result)) {
    echo "database name - ".$row[0]."<br>";
}

这部分工作得很好。但现在我想得到这些数据库中每个表中一个特定行的值,所有数据库都包含完全相同的表,因此包含相同的行。
所以在while{}中,我试图放置一个SELECT语句:
$sql = "SELECT option_value FROM sweb_options WHERE option_name = 'siteurl'";

然后回显$sql,但除了输出语句之外,这没有做任何事情。你知道我怎么做吗?
非常感谢。

最佳答案

这样的做法应该管用:

while ($row = mysqli_fetch_array($result)) {
    $sql = "SELECT option_value FROM {$row[0]}.sweb_options WHERE option_name = 'siteurl'";
    $result2 = mysqli_query($db_conn, $sql);
    // check for success in case table doesn't have option_value column
    if ($result2) {
        $row2 = mysqli_fetch_assoc($result2);
        echo $row2['option_value'];
    }
}

关于php - 从服务器上每个数据库的一个表中选择数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55251869/

10-12 16:11
查看更多