1

我相信我有一个小而相当简单的问题,但是我已经尝试了所有方法,但我就是无法弄清楚这种语法。

我将从输入以下代码(php)开始:

require_once('connectvars.php'); // My database connection

//Connect to the database
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
//Retrieve the data from the database
$query = "SELECT * FROM pbclickslogin WHERE username='$username'";
$data = mysqli_query($dbc, $query);
while ($info = mysqli_fetch_array( $data )) {
    echo $info['lol']; echo $info['lol2'];
}

所以我编了这个例子,让我们说“$info['lol'];” 是名为“pbclickslogin”和“$info['lol2'];”的表中的列 是名为“pbclickssomethingelse”的表中的一列。但是我不能同时连接到两个数据库,或者我可以吗?

我试过添加:

$query = "SELECT * FROM pbclickslogin, pbclickssomethingelse WHERE username='$username'";

和这个:

$query = "SELECT * FROM pbclickslogin WHERE username='$username'";
$query2 = "SELECT * FROM pbclickssomethingelse WHERE username='$username'";
$data = mysqli_query($dbc, $query, $query2);
while ($info = mysqli_fetch_array( $data )) {
    echo $info['lol']; echo $info['lol2'];
}

但正如你们中的一些有经验的 PHP 用户可能知道的那样。这两件事并没有解决我的问题。你们中有人知道我在执行while循环时如何连接到这两个数据库吗?

4

2 回答 2

1

您可以对两个表进行连接,而不是两个单独的查询。这是一个简单的例子:

    $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
    $data = mysqli_query($dbc, "SELECT * FROM pbclickslogin, pbclickssomethingelse WHERE pbclickslogin.username = pbclickssomethingelse.username AND pbclickslogin.username='" . $username . "'");
    while ($info = mysqli_fetch_array( $data )) {
        echo $info['lol']; echo $info['lol2'];
    }
于 2012-10-30T21:36:22.010 回答
0
SELECT * FROM pbclickslogin l
   INNER JOIN pbclickssomethingelse s ON l.username = p.username
   WHERE l.username='$username'

根据您提供的示例,我能做到的最好。这将通过两个表上的用户名将表连接在一起,然后您选择“其中”用户名是特定值。

我强烈建议您阅读一些有关 PHP 和 SQL 的教程。

于 2012-10-30T21:43:28.157 回答