我有以下代码,就像使用mysql的魅力一样,但是当使用DB2实现时,它返回值" 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 );
};
});
答案 0 :(得分:0)
我的代码出错了。我忘记了获取如下所有数据:
$stmt = db2_prepare($connection, $sql);
db2_execute($stmt);
while($row = db2_fetch_assoc($stmt)) {
$data[] = array(
'name' => $row['NAME']
);
}
现在工作正常