使用 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']
);
}
现在一切正常
我有以下代码,与 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']
);
}
现在一切正常