【问题标题】:PHP Array in MySQL IN() function?MySQL IN()函数中的PHP数组?
【发布时间】:2010-03-08 02:43:26
【问题描述】:

是否可以在 MySQL IN() 函数中分配 php 数组?例如,

$numbers = array('8001254656','8886953265','88864357445','80021536245');
$sql = mysql_query("SELECT * FROM `number_table` WHERE `number` IN ($numbers)");

有什么想法吗?

谢谢,

【问题讨论】:

    标签: php mysql arrays


    【解决方案1】:

    只要数字仅限于数字,此代码 sn-p 应该可以帮助您。

    <?php
    
    // Generate a filtered comma-separated list of the numeric values in numbers.
    // Non-numeric values might allow for SQL-injection bugs.
    $SQL_numberList = implode(", ", array_filter($numbers, 'is_numeric'));
    $sql = mysql_query("SELECT * FROM `number_table` WHERE `number` IN ($SQL_numberList)");
    

    对于列表中的字符串参数,您需要做一些不同的事情。

    【讨论】:

      【解决方案2】:

      没有。请先使用implode()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-03-25
        • 1970-01-01
        • 1970-01-01
        • 2012-02-08
        • 1970-01-01
        • 2023-03-02
        • 2016-06-17
        相关资源
        最近更新 更多