Php mysql查询中的foreach
我是php新手,尝试动态创建一个查询。这是我从每个语法错误中得到的一段代码。你能帮我修复这个错误吗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行末
$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;