2015-11-13 68 views
2

我目前有这个问题。下面是测试阵列查询打印空implode PHP

$skupu = array('a1','a5'); 

这是我的查询:

$consult_sku= 'SELECT * FROM fulfillment_test WHERE sku IN (' . implode(',', $skupu) . ')'; 
$result_s= mysqli_query($db, $consult_sku); 

如果我打印result_s的结果是空的,如果我将此 mysqli_fetch_assoc($result_s); error_log里告诉我:

PHP警告:不能修改标题信息 - 已经发送的标题(输出开始于

我的数据库表有一列

sku 
a1 
a2 
a3 
a4 
a5 

我怎样才能解决这个问题?

那么我解决了麻烦,但现在当我只是运行查询只打印查询的第一个结果,只是打印A1但A5不是,怎么能解决这个问题?

只是原理:a1

+0

您的问题与您的查询或您使用内爆没有关系。如果你[搜索这个PHP警告](http://stackoverflow.com/search?q=cannot+modify+header+information),你会看到它是因为你试图在某个地方设置HTTP标头,但输出已经开始。 – miken32

+0

我解决了错误,但是现在当查询运行只是打印第一个结果而不是两个时,为什么可以解决这个问题呢? – victor

回答

0

Implode你的数组,然后传递给查询。

$skupu = array('a1','a5'); 
$skupuImploded = implode(',', $skupu); 

$consult_sku= "SELECT * FROM fulfillment_test WHERE sku IN ($skupuImploded)"; 
$result_s= mysqli_query($db, $consult_sku);