mysql_fetch_assoc()返回的空值

时间:2012-08-07 18:05:48

标签: mysql null

我在查询结果上调用mysql_fetch_assoc($res)。查询很好,在同一行中返回了其他结果。最后一列始终为null。这是为什么?

代码(已缩写,所以请不要对样式发表评论):

$qy = "SELECT * FROM `entries` WHERE `dag`=".$_POST['day'];
        $res = mysql_query($qy, $sql);


        $d = '';
        $row = mysql_fetch_assoc($res);
        $d .= $row['text'];
        $e = json_encode($row);

        echo json_encode(array("status" => "success", "data" => $d, "error" => $e));

$d将等于null,而$e将等于{"status":"success","data":null,"error":"{\"dag\":\"DATA\",\"afstand\":\"DATA\",\"tijd\":\"DATA\",\"max\":\"DATA\",\"tottijd\":\"DATA\",\"odo\":\"DATA\",\"van\":\"DATA\",\"naar\":\"DATA\",\"weer\":\"DATA\",\"text\":null}"},其中DATA是正确的数据。 text列为null

text列具有VARCHAR类型,最多包含5000个字符。我想要检索的字段中的文本长度为1800个字符。

1 个答案:

答案 0 :(得分:1)

我已经找到了两年前我自己的问题的答案。

问题是编码:text列包含不是UTF-8编码的文本。当我将代码包装起来以获取text中的utf8_encode()时,一切都按预期工作。