我有一个名为'objectID‘的javascript数组。里面有几个不同的身份证。
Example: objectID = ['465723', '654221, '632876', '102435', '320111', ...]
(includes just 3-6 character numbers, not sure if entered as string or int)
我需要使用'objectID‘查询数据库。
JS
jQuery.ajax({
type: "POST",
url: "filter.php",
data: { objectsArray : objectID },
success: function(result) {
console.log("Object Names:" + result);
}
});
filter.php
...
$myArray = $_REQUEST['objectsArray'];
$qstring = "SELECT Name FROM objectlist WHERE ObjectID IN ($myArray)";
$result = mysql_query($qstring);
$results = array();
while ($row = mysql_fetch_assoc($result,MYSQL_ASSOC))
{
$results[] = $row;
}
...
我需要过滤器脚本来返回一个包含对象名称的javascript数组:
Example: objectNames = ['Chair', 'Console', 'Lamp', 'Ball', 'TV', ...]
当请求数组时,我得到了以下错误:
"mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in"
似乎查询本身有问题。
发布于 2013-07-01 17:22:29
将$results数组编码为json,并打印它:
$myArray = $_REQUEST['objectsArray'];
//you must escape the array elements to prevent SQL injection
$n = count($myArray);
for ($i = 0; $i < $n; ++$i)
{
$myArray[$i] = mysql_real_escape_string($myArray[$i]);
}
//join them with comma separator
$myArray = implode(',', $myArray);
$qstring = "SELECT Name FROM objectlist WHERE ObjectID IN ($myArray)";
while ($row = mysql_fetch_assoc($result,MYSQL_ASSOC))
{
$results[] = $row["Name"];
}
$result = json_encode($results);
print $result;
在javascript中,您将得到名称数组。备注:
$myArray
元素之前引用它们。https://stackoverflow.com/questions/17410075
复制相似问题