使用In运算符在php中进行sql查询

时间:2015-02-01 00:19:17

标签: php ajax

我有一个对php文件的ajax调用,我希望使用IN运算符执行sql查询,然后将结果返回给ajax调用。

Ajax:

var results = 'mobile =' + concatResults;
    $.ajax({
        type: "POST",
        url: "calc.php",
        data: results,
        success: function(result){
            console.log(result);
        }
    });

当我执行console.log(concatResults)时,我得到格式的结果,例如:

  '0742481565','088323543','0832454334'

然后在我的php文件中,主要代码行是:

    $mobile=$_POST['mobile'];
$sql  = "SELECT * FROM query where mobile_no in (:mobile)";
$stmt = oci_parse ($conn, $sql);
oci_bind_by_name($stmt, ":mobile" , $mobile);

//Execute
oci_execute ($stmt);

$displayResults = "";
while ($row = oci_fetch_assoc($stmt)) {
            $displayResults .= $row['MOBILE_NO'];
    }
echo $displayResults;

然而,似乎in运算符不能以输入的格式工作。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

工作

$mobile

必须是一个数组,如下所示:

$mobile = array(1, 2, 3, 4) OR $mobile = explode(",", $mobile)