Php 如果值为空/null,则根据其长度将数据库中的值替换为空格
情景:Php 如果值为空/null,则根据其长度将数据库中的值替换为空格,php,Php,情景: Database Table Column Type Length Sample Values emp_code varchar 4 0011 0021 0012 emp_desc varchar 2 01 03 01 emp_stat varchar 1 1 0 问题:
Database Table
Column Type Length Sample Values
emp_code varchar 4 0011 0021 0012
emp_desc varchar 2 01 03 01
emp_stat varchar 1 1 0
问题:
我正在查询,以便将结果写入文本文件
$file = "data.txt";
$f = fopen($file, "a");
$qry = "SELECT * FROM tbl_emp";
$result = mysqli_query($conn, $qry );
if(!$result) {
echo "Cannot do query" . "<br/>";
exit;
}
$num_results =mysqli_num_rows($result);
for ($i=0; $i<=$num_results; $i++) {
$row = mysqli_fetch_assoc ($result);
$emp_code = (empty($row['emp_code']) ? " " : $row['emp_code']); //replace with 4 spaces
$emp_desc = (empty($row['emp_desc']) ? " " : $row['emp_desc ']); //replace with 2 spaces
$emp_stat = (empty($row['emp_code']) ? " " : $row['emp_code']); //replace with 1 space
$data = "$emp_code $emp_desc $emp_stat\r\n";
fwrite($f,$data);
}
但结果是:
0011011
002103
001201
如果该行的值为0,则在不应为空时将其替换为空。需要更改哪些内容才能获得正确的数据?TIA.不要使用
空的<代码>0
为空。根据您在那里检查的内容,它可以是:
$emp_stat = (is_null($row[...]) ? " " : $row[...])
$emp_stat = (($row[...] === "") ? " " : $row[...])
$emp_stat = (is_numeric($row[...])? $row[...] : " ")
etc不要使用空的<代码>0
为空。根据您在那里检查的内容,它可以是:
$emp_stat = (is_null($row[...]) ? " " : $row[...])
$emp_stat = (($row[...] === "") ? " " : $row[...])
$emp_stat = (is_numeric($row[...])? $row[...] : " ")
等等谢谢。这对我很有帮助,谢谢。这对我很有帮助。