PHP在while循环中连接两个表

fnatzsnv  于 2023-05-16  发布在  PHP
关注(0)|答案(2)|浏览(123)

我有一个小而简单的问题,我相信,但我已经尝试了一切,但我就是不能弄清楚这个语法。
首先输入以下代码(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 ['lol 2']”的表中的一列;“”是名为“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循环时连接到这两个数据库吗?

3gtaxfhh

3gtaxfhh1#

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

$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'];
    }
apeeds0o

apeeds0o2#

SELECT * FROM pbclickslogin l
   INNER JOIN pbclickssomethingelse s ON l.username = p.username
   WHERE l.username='$username'

根据你给出的例子,我能做的最好的。这将通过两个表上的用户名将两个表连接在一起,然后选择“where”用户名是一个特定的值。
我强烈建议你通过一些关于PHP和SQL的教程。

相关问题