Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用表别名从mysqli_fetch_assoc获取结果_Php_Mysql_Mysqli - Fatal编程技术网

Php 如何使用表别名从mysqli_fetch_assoc获取结果

Php 如何使用表别名从mysqli_fetch_assoc获取结果,php,mysql,mysqli,Php,Mysql,Mysqli,我对PHP非常陌生,如果我的select语句有表联接,并且这些联接是用表别名处理的,我不知道如何从mysqli\u fetch\u assoc()函数中获取结果 代码如下所示: $sql = 'SELECT T1.update_text, T1.created_at, T2.username, T3.group_name FROM updates AS T1 INNER JOIN users AS T2 ON T2.user_id = T1.user_id_fk

我对PHP非常陌生,如果我的select语句有表联接,并且这些联接是用表别名处理的,我不知道如何从
mysqli\u fetch\u assoc()
函数中获取结果

代码如下所示:

$sql = 'SELECT T1.update_text, T1.created_at, T2.username, T3.group_name   FROM updates AS T1
        INNER JOIN users AS T2 ON T2.user_id = T1.user_id_fk
        INNER JOIN groups AS T3 ON T3.group_id = T1.group_id_fk
        WHERE T1.user_id_fk = "1"';
以及之后的PHP代码:

if (mysqli_num_rows($result) > 0) {
   while($row = mysqli_fetch_assoc($result)) {
   printf ("%s (%s)\n",$row["username"],$row["T1.created_at"]);
   }

对于“用户名”行,我没有收到错误,但没有显示任何内容。对于第二个,我得到一个索引未定义的错误。(这只是一段代码)

如下更改SQL查询:

$sql = 'SELECT T1.update_text as update_text, T1.created_at as created_at, T2.username as username, T3.group_name as group_name   FROM updates AS T1
        INNER JOIN users AS T2 ON T2.user_id = T1.user_id_fk
        INNER JOIN groups AS T3 ON T3.group_id = T1.group_id_fk
        WHERE T1.user_id_fk = "1"';
 $result = $mysqli->query($sql);
    if (mysqli_num_rows($result) > 0) {
       while($row = $results->fetch_object()) 
       {
           echo $row->username.$row->created_at."<br/>";
       }
    }
然后更改PHP代码,如下所示:

$sql = 'SELECT T1.update_text as update_text, T1.created_at as created_at, T2.username as username, T3.group_name as group_name   FROM updates AS T1
        INNER JOIN users AS T2 ON T2.user_id = T1.user_id_fk
        INNER JOIN groups AS T3 ON T3.group_id = T1.group_id_fk
        WHERE T1.user_id_fk = "1"';
 $result = $mysqli->query($sql);
    if (mysqli_num_rows($result) > 0) {
       while($row = $results->fetch_object()) 
       {
           echo $row->username.$row->created_at."<br/>";
       }
    }
$result=$mysqli->query($sql);
如果(mysqli_num_行($result)>0){
而($row=$results->fetch_object())
{
echo$row->username.$row->created_at.“
”; } }
你的mysqli_查询在哪里?正如我所说,这只是一个片段。如果我删除别名,代码“起作用”,但不显示任何内容…$result=mysqli\u query($conn,$sql)是的,我的代码中有此语句…但尚未将其发布到此处。您的数据库变量中的用户名为空,请转储您的行以查看内容