PHP 输出数组到 SELECT mysql

PHP output array into SELECT mysql

需要找到数组,然后 运行 一个 MYSQL SELECT 其中数组值存在(或不存在)。

$symbol = "abc";
$sql = "SELECT * FROM around";
$results = $conn->query($sql);
foreach($results as $row) {
$stop = preg_replace("/[0-9]/", "", $row['tip']);
if ($stop ==  $symbol) 
{$sword = $row['tip'];
 }}

所以在有多个输出的情况下,我们需要$sword作为一个数组。在我们拥有该数组之后,我们需要 运行 一个 mysql 查询,该查询仅显示那些具有 $sword 数组的查询。

$query = "
 SELECT * FROM ms WHERE `big` = '$sword'";
 $result = mysql_query( $query );

那么我们可以做类似的事情:

while ( $row = mysql_fetch_assoc( $result ) ) {
  echo '"time": "' . $row['time'] . '",'; }

这是将 $sword 转换为数组并在您的第二个查询中使用它的代码:

$symbol = array("abc", "def", "ghi");
$sword = array();
$sql = "SELECT * FROM around";
$results = $conn->query($sql);
foreach($results as $row) {
    $stop = preg_replace("/[0-9]/", "", $row['tip']);
    if (in_array($stop, $symbol)) {
        $sword[] = $row['tip'];
    }
}
if ($sword) {
    $in = '';
    $sep = '';
    foreach ($sword as $s) {
        $in .= "$sep '$s'";
        $sep = ',';
    }
    /* $in now contains a string like "'123abc123', '12abc12', '1abc1'" */
    $query = "
    SELECT * FROM ms WHERE `big` IN ($in)";
    $result = mysql_query( $query );
    while ( $row = mysql_fetch_assoc( $result ) ) {
        echo '"time": "' . $row['time'] . '",'; 
    }
}

现在我要去洗手,把所有 mysql_query 都洗掉...:-)