Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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 替换MySQL中的空值_Php_Mysql - Fatal编程技术网

Php 替换MySQL中的空值

Php 替换MySQL中的空值,php,mysql,Php,Mysql,使用此项时如何查找和替换空行 $Qemaster="select * from emaster where `branch`='$bid' and `department`='$did' and `status`!='L'"; $Remaster=mysql_query($Qemaster); while($Rowemaster=mysql_fetch_array($Remaster)){ $empcode=$Rowemaster[id]; $name=$Rowemaster[n

使用此项时如何查找和替换空行

$Qemaster="select * from emaster where `branch`='$bid' and `department`='$did' and `status`!='L'";
$Remaster=mysql_query($Qemaster);
while($Rowemaster=mysql_fetch_array($Remaster)){
    $empcode=$Rowemaster[id];
    $name=$Rowemaster[name];
    $Tleave=0;

echo "<tr>";
echo "<td rowspan='2'>".$name."</td>";
echo "<td>Leave</td>";

$Qlp="select * from lpsummary where ((`month` IN(04,05,06,07,08,09,10,11,12) and `year`='$year') or (`month` IN (01,02,03) and `year`='$Nyear')) and `empcode`='$empcode'";
$Rlp=mysql_query($Qlp);
$RRlp=mysql_num_rows($Rlp);
while($Rowlp=mysql_fetch_array($Rlp)){  

$leave=$Rowlp['leave'];
$Tleave=$Tleave+$leave;
if($leave==NULL){
    $Eleave='-';
}
else{
    $Eleave=$leave;
}
echo "<td>".$Eleave."</td>";
}
echo "<td><font color='red'>".$Tleave."</font></td>";
echo "<td><font color='green'>".substr(($Tleave/$RRlp),0,4)."</font></td>";
echo "<tr><td>Percentage</td>";
}
$Qemaster=“从emaster中选择*,其中“分支机构”='$bid'和“部门”='$did'以及“状态”!='L';
$Remaster=mysql\u查询($Qemaster);
while($Rowemaster=mysql\u fetch\u数组($Remaster)){
$empcode=$Rowemaster[id];
$name=$Rowemaster[name];
$Tleave=0;
回声“;
回显“$name.”;
呼应“离开”;
$Qlp=“从lpsummary中选择*,其中((04,05,06,07,08,09,10,11,12)中的'month'和'year'='year')或((01,02,03)中的'month'和'year'='Nyear')和'empcode'='empcode';
$Rlp=mysql\u查询($Qlp);
$RRlp=mysql\u num\u行($Rlp);
而($Rowlp=mysql_fetch_数组($Rlp)){
$leave=$Rowlp['leave'];
$Tleave=$Tleave+$LEVE;
如果($leave==NULL){
$Eleave='-';
}
否则{
$Eleave=$leave;
}
回声“$Eleave.”;
}
回声“$Tleave.”;
回显“.substr($Tleave/$RRlp),0,4”);
回声“百分比”;
}

如果有一个空行。。。我想把它替换成-而不是回声“$Eleave”

实际上,您可以通过查询直接执行此操作,这样您的php代码中就不会有任何
IF-ELSE
条件

另外,要养成指定列名的习惯,而不是使用
*

SELECT colnames,..., COALESCE(`leave`, '-') `Leave`
FROM   lpsummary
WHERE  .....
更新1

SELECT  COALESCE(l.leave, '-') AS `LEAVE`
FROM    lpsummary l
WHERE   (
            (month IN(04,05,06,07,08,09,10,11,12) and year='$year') or 
            (month IN (01,02,03) and year='$Nyear')
        ) and empcode='$empcode'

作为旁注,如果变量的值来自外部,则查询易受攻击。请看下面的文章,了解如何预防它。通过使用
PreparedStatements
可以避免在值周围使用单引号


通过学习如何使用查询。功能非常好,我一直觉得他们也想更新表>谢谢J W.先生。。现在我的代码看起来像是$Qlp=“选择休假,合并(
休假
,”-”),从lpsummary中(
在(04,05,06,07,08,09,10,11,12)和
='$year')或(
在(01,02,03)和
='$Nyear'))和
empcode
='$empcode;但获取错误作为警告:mysql\u fetch\u array():提供的参数在资源中不是有效的mysql结果