JSON字段有最大长度吗?

时间:2016-12-05 21:59:58

标签: php mysql json ajax

你好,晚上好,

我编写了一个简单的PHP电子商务网站,在执行管理部分时我偶然发现了一个问题。 我目前正在尝试执行AJAX请求来填充bootstrap模式中的某些字段,为此我从数据库中获取数据:

function editProductResponse($productId)
{
    require 'app/database/Database.php';
    require 'app/models/Product.php';
    require 'app/models/ProductImage.php';

    $product = new Product();
    $object = $product->getProduct($productId);
    $data = $object[0];
    $array = [
        "id" => $data->id,
        "name" => $data->name,
        //"description" => $data->description,
        "price" => $data->price,
        "stock" => $data->stock,
        "sold" => $data->sold,
        "added" => $data->added,
        "type" => $data->type,
        "subtype" => $data->subtype,
        "discount" => $data->discount
    ];
    echo print_r($data);
    echo json_encode($array);
}

我的ajax.php函数获取了实际数据并且这种方法正常工作(请记住数组的注释部分不是错误,我将解释下面的内容;​​还有我& #39;为了调试目的而做一个数组):

stdClass Object
(
    [id] => 1
    [name] => MSI Nightblade MI2-027XES Gaming
    [description] => Forjado com a paix�o pelo jogo, o MSI Nightblade MI2 foi feito para aqueles que anseiam por uma experi�ncia de jogo imersiva. Com armazenamento em abund�ncia, refrigera��o eficiente e gr�ficos de alta qualidade, esta pequena m�quina gaming est� pronta para desbloquear a sua pr�xima aventura gaming.
    [price] => 799
    [stock] => 147
    [sold] => 32
    [added] => 2010-11-22
    [type] => COMPUTER
    [subtype] => DESKTOP
    [discount] => 10
)
1{"id":1,"name":"MSI Nightblade MI2-027XES Gaming","price":799,"stock":147,"sold":32,"added":"2010-11-22","type":"COMPUTER","subtype":"DESKTOP","0":"discount => 10"}

这是我在浏览器日志中的回复。一切看起来都很好,而且确实如此。 所以我的问题是我实际上从数组中取消注释描述部分的时候。如果我这样做,我明白了:

stdClass Object
(
    [id] => 1
    [name] => MSI Nightblade MI2-027XES Gaming
    [description] => Forjado com a paix�o pelo jogo, o MSI Nightblade MI2 foi feito para aqueles que anseiam por uma experi�ncia de jogo imersiva. Com armazenamento em abund�ncia, refrigera��o eficiente e gr�ficos de alta qualidade, esta pequena m�quina gaming est� pronta para desbloquear a sua pr�xima aventura gaming.
    [price] => 799
    [stock] => 147
    [sold] => 32
    [added] => 2010-11-22
    [type] => COMPUTER
    [subtype] => DESKTOP
    [discount] => 10
)
1

我离开echo print_r以避免对两个结果产生任何混淆。

我得到这个回复后,让我想知道是否存在对JSON的任何限制,或者TEXT SQL数据类型是否存在{{1}的某种问题} field是这种类型。

根据要求,这是实际数组的调试响应:

description

1 个答案:

答案 0 :(得分:0)

我弄清楚是什么导致了这个问题。我的一些编码在数据库中存在问题,因为我有一些未经正确转换的葡萄牙语特殊字符。