我在调试某些代码时发现一个错误:
此功能:
function mrbsGetEntryInfo($id)
{
$sql = "SELECT start_time, end_time, entry_type, repeat_id, room_id,
timestamp, beneficiaire, name, type, description
FROM ".TABLE_PREFIX."_entry
WHERE id = '".$id."'";
$res = grr_sql_query($sql);
if (!$res)
return;
$ret = '';
if (grr_sql_count($res) > 0)
{
$row = grr_sql_row($res, 0);
$ret["start_time"] = $row[0];
$ret["end_time"] = $row[1];
$ret["entry_type"] = $row[2];
$ret["repeat_id"] = $row[3];
$ret["room_id"] = $row[4];
$ret["timestamp"] = $row[5];
$ret["beneficiaire"] = $row[6];
$ret["name"] = $row[7];
$ret["type"] = $row[8];
$ret["description"] = $row[9];
}
grr_sql_free($res);
return $ret;
}
在windows上 $ret = ''
工作良好,当输出变量时,我们可以从 start_time
至 description
.
但是在linux centos上 $ret=''
只输出 $ret["type"]
(类型为单个字符)
这个问题是通过切换来解决的 ''
至 null
. 我不明白为什么,我发现这解释了“”和null之间的区别
正如上面提到的, ''
是一个空字符串 null
只是一个变量,里面什么都没有。我还是不明白为什么这个能解决这个问题。
有用信息:
+------------+------------+--------------+
| | Windows | Linux CentOS |
+------------+------------+--------------+
| OS version | Windows 10 | Centos 7.5 |
+------------+------------+--------------+
| PHP | 7.1.9 | 7.2.11 |
+------------+------------+--------------+
| MySQL | 5.7.19 | 5.7.24 |
+------------+------------+--------------+
| Apache | 2.4.27 | Apache/2.4.6 |
+------------+------------+--------------+
暂无答案!
目前还没有任何答案,快来回答吧!