首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将空值保存到文件中

问将空值保存到文件中
EN

Stack Overflow用户
提问于 2013-08-08 15:56:32
回答 4查看 53关注 0票数 0

我有一个表,我试图使用php保存到一个sql文件中。表中有带空的字段。但是,当我试图遍历表行以保存到文件时,NULL变成了空字符串,有什么可以防止的吗?下面是代码的一个片段

代码语言:javascript
复制
$sql="SELECT * FROM myTable";
$sql_result=mysql_query($sql);
while ($row = mysql_fetch_array($sql_result,MYSQL_ASSOC)){
    $saveSql.=$row['myId'].",";
    $saveSql.="'".$row['myName']."',";
    $saveSql.=$row['myAge'].",";
}

$handle = fopen('database.sql', 'w');
fwrite($handle,$saveSql);

如果存在空值,则不会将它们保存到文件中,而是将它们保存为空字符串。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-08-08 15:59:37

这是意料之中的。一个SQL null映射到一个null,当输出它时,它被转换成一个空字符串。如果您想输出字面字母n、u、l、l,那么您必须自己进行转换。

代码语言:javascript
复制
$text = isnull($row['myName']) ?: 'NULL';
票数 0
EN

Stack Overflow用户

发布于 2013-08-08 15:58:58

PHP将null定义为"" (空字符串)。

如果您想在保持保真度的同时保存到文件中,请使用像seralize或json_encode这样的序列化程序。

写作:

代码语言:javascript
复制
fwrite($handle, serialize($saveSql));

阅读

代码语言:javascript
复制
$import = unserialize(fread($handle));
票数 1
EN

Stack Overflow用户

发布于 2013-08-08 16:00:08

人们忘记了if语句的力量..。

代码语言:javascript
复制
if ($row['myId'] == "") { $saveSql .= "NULL"; }

等等..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18130638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档