来自Mysql的ISNULL没有通过PHP在网页上显示结果

时间:2014-04-17 16:37:51

标签: php mysql lamp

我在基于服务器的POS上工作,我有一个php页面,在桌子上显示客户端当前的钱,我有2个表(Mov_ctes和Clientes),当我在上面添加WITH ROLLUP时它工作正常mysql查询,它显示Total但没有A Name(NULL值),所以我使用了

IFNULL(Clientes.Nombre,'TOTAL')

所以它可以将NULL值更改为TOTAL,我在mysql上输入了整个命令并且工作正常,但是如果我通过PHP输入相同的查询它不会输出" Nombre"柱

继承我的代码和Mysql截图

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
<!--
@import url("source/style.css");
-->
</style>
</head>
<body>
<?php
session_start();
$log=$_SESSION['sesion'];
$nombr=$_SESSION['username'];
if($log==1)
{
$con=mysqli_connect("localhost","user","pw","My_db");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//Mysql query 
$result = mysqli_query($con,"SELECT Clientes.cliente_id,IFNULL(Clientes.Nombre,'TOTAL'), sum(Mov_ctes.Movimiento) FROM Clientes NATURAL LEFT JOIN Mov_ctes GROUP BY Nombre WITH ROLLUP");
echo "<table id='hor-minimalist-b' summary='Employee Pay Sheet'>";
echo "<thead>";
echo "<tr>";
echo "<th scope='col'>ID</th>";
echo "<th scope='col'>Nombre</th>";
echo "<th scope='col'>Saldo</th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
while($row = mysqli_fetch_array($result))
{echo "<tr>";
echo "<td>" . $row['cliente_id'] . "</td>";
echo "<td>" . $row['Nombre'] . "</td>";
echo "<td>" . $row['sum(Mov_ctes.Movimiento)'] . "</td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
mysqli_close($con);
}
?>

Mysql screenshot

1 个答案:

答案 0 :(得分:4)

您需要该列的别名,否则列名称将为IFNULL(Clientes.Nombre,'TOTAL')

SELECT IFNULL(Clientes.Nombre,'TOTAL') AS Nombre
...