Php 如何使用表别名从mysqli_fetch_assoc获取结果
我对PHP非常陌生,如果我的select语句有表联接,并且这些联接是用表别名处理的,我不知道如何从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
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)是的,我的代码中有此语句…但尚未将其发布到此处。您的数据库变量中的用户名为空,请转储您的行以查看内容