Php mysql 脚本返回 Null 而不是 "long"值

标签 php jquery mysql

我有一个简单的 PHP 脚本:

function test() {
    $sql = "select author, synopsis from book";
    $result = mysql_query($sql); // result set   
    while ($rec = mysql_fetch_array($result, MYSQL_ASSOC)) {
        $arr[] = $rec;
    };
    $data = json_encode($arr);  //encode the data in json format
    echo $data;
}

问题是,当我尝试使用 jQuery 读取结果时,我得到““synopsis”:NULL”。我想知道是否是因为数据库中的 synopsis 值包含多行?

jQuery 代码:

<script>
    $(document).ready(function() {
        $.ajax({
        url: "data/book.php",
        type: 'POST',
        dataType: 'json',
        success : function (data) {
            $('div.book').text(data[0].synopsis);
        }
        });
    });
    </script>

php 的输出:

[{"author":"author","synopsis":null}]

回复@iMx建议:

array(2) {
  [0]=>
  array(2) {
   ["author"]=>
string(7) "author"
["synopsis"]=>
string(697) "Le patient du psychiatre 
Dekker, un certain Boone, avoue durant les transes dans lesquelles 
le plonge le docteur, qu'il aurait commis une dizaine de meurtres, 
tous plus sordides les uns que les autres. Seulement, une fois sortie de 
cet �tat d'exaltation, l'homme ne se rappelle de rien. D�sesp�r�, Boone fait une 
tentative de suicide rat�e qui le conduit � l'h�pital. Son compagnon de chambre, 
visiblement bien cram� du cerveau, �voque le nom de Midian, un endroit dans le 
d�sert de l'Athabasca o� se regroupent les damn�s de la terre, 
les �tres qui souffrent horriblement. Convaincu de pouvoir y trouver un r
efuge, et ainsi de mettre un terme � ses crimes, il part sur ce lieu �trange..."
 }

也许是因为法语字符有问题?

最佳答案

我猜是编码问题。你的mysql表有什么编码? json_encode()仅接受 UTF-8 字符串并可能返回 null在非 UTF-8 字符串上 - 也许这是你的问题。尝试使用 iconv() 转换字符串或mb_convert_encoding()或者使用 mysql_query('SET CHARACTER SET utf8') 将 MySQL 查询编码设置为 UTF-8在您的 SELECT 请求之前。

关于Php mysql 脚本返回 Null 而不是 "long"值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20924059/

相关文章:

php - 表名在 MySQL 中显示语法错误

javascript - 从动态创建的 ajax 调用列表中读取结果

javascript - 防止 Javascript 页面重新加载

jquery - 在Ajax中访问JSON数据成功: function() in jQuery

c++ - cpp-Mysql undefined reference 'a function'错误

mysql - 如何在两个以上的 MySQL 表上执行最佳的 FULL OUTER JOIN?

php - MySQL 结果排序

php - PHP 中处理并发的页面缓存?

mysql - 无法打开 PhpMyAdmin(配置中定义的 controluser 连接失败。)

php - 使用 h1 到 h6 从数组生成标签云的最佳方法是什么?