通过php传递相同id的多个值

通过php传递相同id的多个值,php,json,Php,Json,我想通过我的url传递多个值,如下所示 我已经创建了php编码文件如下,但我无法得到正确的结果 <?php require('adminpanel/includes/application_top.php'); if ($_SERVER['REQUEST_METHOD'] == 'GET') { $id = explode(",", $_GET["uid"]); $sth = mysql_query(" SELECT drug_medicines.fld_id,

我想通过我的url传递多个值,如下所示

我已经创建了php编码文件如下,但我无法得到正确的结果

<?php
require('adminpanel/includes/application_top.php');
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    $id = explode(",", $_GET["uid"]);
    $sth = mysql_query(" SELECT drug_medicines.fld_id,   
        drug_medicines.fld_image, drug_medicines.ld_product_name,
        drug_medicines.fld_best_price,drug_cart.ld_userid,
        drug_cart.fld_qunty, drug_cart.fld_totalprice
        FROM drug_medicines
        INNER JOIN drug_cart
        ON drug_medicines.fld_id=drug_cart.fld_productid 
        WHERE fld_userid='" . $id . "' ||'" . $id . "'");
    $rows = array();
    while ($r = mysql_fetch_assoc($sth)) {
        $rows[] = $r;
    }
    print json_encode($rows);
}
?>

格式应该是这样的

其中fld_userid='.$id[0]”或fld_userid='.$id[1]”

对于大于2的值,请使用

其中fld_userid位于。内爆“,”,$id

您应该在中使用,以获得更大的灵活性

"... WHERE fld_userid IN (" . implode(',', $id) . ")"
这将输出:

"... WHERE fld_userid IN (5710,55)"
根据你们的URL,你们将来可能会有更多的值,所以你们应该在mysql的函数中使用

在mysql查询中使用

<?php
require('adminpanel/includes/application_top.php');
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    $id = explode(",", $_GET["uid"]);
    $sth = mysql_query("
            SELECT 
                drug_medicines.fld_id,   
                drug_medicines.fld_image, drug_medicines.ld_product_name,
                drug_medicines.fld_best_price,drug_cart.ld_userid,
                drug_cart.fld_qunty, drug_cart.fld_totalprice
            FROM 
                drug_medicines
            INNER JOIN 
                drug_cart
            ON 
                drug_medicines.fld_id=drug_cart.fld_productid 
            WHERE 
                fld_userid IN (" . $_GET["uid"] . ")");
    $rows = array();
    while ($r = mysql_fetch_assoc($sth)) {
        $rows[] = $r;
    }
    print json_encode($rows);
}
?>

获得了您的内爆参数backwardsarry,有一段时间没有使用PHP:已修复,感谢您应该在fld_userid='.$id[0]”或fld_userid='.$id[1]”的位置;或者在urfusion的回答中,根据您的方法,用户可能需要将这些值放入循环中,或者应该确定他在url中传递的值的数量。因此,这只是当前场景的一个解决方案,并不是一个完美的答案。@DeepakSingh如果正确回答了您的问题,请接受上述答案您的代码易受SQL注入攻击,并且您还使用了过时的MySQL query版本。。改用MySQLi或PDO。请使用mysqli或pdo如果你不想让你的数据库成为漏洞,出于安全原因,我删除了你网站的URL并用一个虚拟值替换了它。如果你坚持要把它公之于众,就把它改回去。欢迎:欢迎接受答案@迪帕克辛格
<?php
require('adminpanel/includes/application_top.php');
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    $id = explode(",", $_GET["uid"]);
    $sth = mysql_query("
            SELECT 
                drug_medicines.fld_id,   
                drug_medicines.fld_image, drug_medicines.ld_product_name,
                drug_medicines.fld_best_price,drug_cart.ld_userid,
                drug_cart.fld_qunty, drug_cart.fld_totalprice
            FROM 
                drug_medicines
            INNER JOIN 
                drug_cart
            ON 
                drug_medicines.fld_id=drug_cart.fld_productid 
            WHERE 
                fld_userid IN (" . $_GET["uid"] . ")");
    $rows = array();
    while ($r = mysql_fetch_assoc($sth)) {
        $rows[] = $r;
    }
    print json_encode($rows);
}
?>