使用 DB2 从自动完成 jquery UI 返回未定义的值

Undefined value returning from autocomplete jquery UI using DB2

我有以下代码,与 mysql 一起工作时很有魅力,但是当使用 DB2 实现时,它 returns 值 "undefined" 应该是实际值。

consult.php

require_once("connect_db.php");

$action = (isset($_GET['action'])) ? $_GET['action'] : '';
$param = (isset($_GET['parameter'])) ? $_GET['parameter'] : '';

if($action == 'autocomplete'):
    $where = (!empty($parameter)) ? "WHERE name LIKE '%{$parameter}%'" : "";
    $sql = "SELECT LOWER(name) FROM categories " . $where;

    $stmt = db2_prepare($connection, $sql);

        db2_execute($stmt);
        $data = db2_fetch_object($stmt);

    $json = json_encode($data);
    echo $json;
endif;

categories.js

$(function() {

$( "#category" ).autocomplete({
        minLength: 1,
        source: function( request, response ) {
            $.ajax({
                url: "consult.php",
                dataType: "json",
                data: {
                        action: 'autocomplete',
                    parameter: $('#category').val()
                },
                success: function(data) {
                   response(data);
                }

            });
        },

})
.autocomplete( "instance" )._renderItem = function( p, item ) {
  return $( "<p>" )
    .append( "<a><b>" + item.name + "</b></a>" )
    .appendTo( p );
};

});

我的代码有错误。我忘记获取以下所有数据:

    $stmt = db2_prepare($connection, $sql);

        db2_execute($stmt);

    while($row = db2_fetch_assoc($stmt)) {
            $data[] = array(
            'name' => $row['NAME']
            );
    } 

现在一切正常