Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql查询中的foreach_Php_Mysql_Foreach - Fatal编程技术网

Php mysql查询中的foreach

Php mysql查询中的foreach,php,mysql,foreach,Php,Mysql,Foreach,我是php新手,尝试动态创建一个查询。这是我从每个语法错误中得到的一段代码。你能帮我修复这个错误吗 $select = "SELECT pmid FROM articles WHERE pmid IN (" foreach($results as $result) { $select .= $result['pmid'] . ','; } $select = trim($select,','); . ") "; 第2行末

我是php新手,尝试动态创建一个查询。这是我从每个语法错误中得到的一段代码。你能帮我修复这个错误吗

    $select = "SELECT pmid FROM articles WHERE pmid IN 
("
    foreach($results as $result) {
        $select .= $result['pmid'] . ',';
    }
    $select = trim($select,','); . 
")
           ";

第2行末尾缺少分号

$pmids = array();
foreach($results as $result) {
    $pmids[] = $result['pmid'];
}

if (!empty($pmids)) {
  $select = 'SELECT pmid FROM articles WHERE pmid IN (' . join(',',$pmids) . ')';
} else {
  $select = 'SELECT pmid FROM articles WHERE 1 = 0';
}

您必须确保
$result['pmid']
值可以安全地用于数据库查询。

您没有使用正确的sql查询写入方式

写好

foreach($results as $result) {
    $select .= $result['pmid'] . ',';
}
$select = trim($select,',');

$query = "SELECT pmid FROM articles WHERE pmid IN ($select)";
看看这个

$results = array(1,5,6,7);
$select = "SELECT pmid FROM articles WHERE pmid IN (".implode(",", $results).")";
echo $select;