Php 解析问题

Php 解析问题,php,Php,我正在对列表进行排序,并使用ajax更新数据库。我需要帮助解析字符串,这是我需要解析的查询字符串: images_list[]=32&images_list[]=95&images_list[]=97&images_list[]=96&images_list[]=102&images_list[]=103&images_list[]=99&images_list[]=101&images_list[]=98&john=hi

我正在对列表进行排序,并使用ajax更新数据库。我需要帮助解析字符串,这是我需要解析的查询字符串:

images_list[]=32&images_list[]=95&images_list[]=97&images_list[]=96&images_list[]=102&images_list[]=103&images_list[]=99&images_list[]=101&images_list[]=98&john=hi
我已经测试了john=hi,看看字符串是否真的通过ajax发送到processor.php文件。我能够从url获取变量john=hi,因此查询字符串发送得非常好。这是到目前为止我的代码,但我似乎无法访问我需要的数据,似乎什么都没有:

<?php
//Connect to DB
require_once('connect.php');

parse_str($_GET['images_list']);
for ($i = 0; $i < count($images_list); $i++) { 
    $id = $images_list[$i]; 
    mysql_query("UPDATE images SET ranking = '$i' WHERE id = '$id'"); 
    echo $images_list[$i]; 
} 
?>

$\u GET['images\u list']
是一个整数数组。这里没有什么可解析的,PHP已经可以使用了。因此,跳过
parse_str
部分,轻松使用
$\u GET['images\u list']
而不是
$images\u list

全部代码:

<?php
//Connect to DB
require_once('connect.php');

foreach ($_GET['images_list'] as $i => $id) { 
    mysql_query("UPDATE images SET ranking = ".mysql_real_escape_string($i)." WHERE id = ".mysql_real_escape_string($id)); 
    echo $id; 
}
?>

为什么要使用
parse_str()
$\u GET['images\u list']
应包含数组而不是字符串

您的代码应该是:

<?php
//Connect to DB
require_once('connect.php');

for ($_GET['images_list'] as $i=>$id) { 
    mysql_query("UPDATE images SET ranking = '".mysql_real_escape_string($i)."' WHERE id = '".mysql_real_escape_string($id)."'"); 
    echo $id; 
} 
?>

您可以使用foreach($array as$key=>$value)代替for循环。mysql\u escape\u字符串已弃用()对不起,这意味着mysql\u real\u escape\u字符串-已修复。为什么我得了a-1?至少,在有人效仿之前,我确实提出了建议。。。