情景:
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);
}
Data.Txt应包含:
0011011
002103
0012010
但这是结果:
0011011
002103
001201
如果行的值为0,则在不应该为空时将其替换为空白。需要更改什么才能获得正确的数据? TIA。
答案 0 :(得分:0)
不要使用empty
。 0
是空的。根据您在那里检查的内容,它可以是以下之一:
$emp_stat = (is_null($row[...]) ? " " : $row[...])
$emp_stat = (($row[...] === "") ? " " : $row[...])
$emp_stat = (is_numeric($row[...])? $row[...] : " ")
等