谁能告诉我我的代码有什么问题吗?我在最后一行收到错误消息“警告:join() [function.join]:传入的参数无效...” - echo join( $URL, '
' );
我检查了this discussion和 this one ,但没有任何点击。我将查询粘贴到 phpMyAdmin > SQL 中,它运行良好,返回一个包含两列的表,其中列出了字段 URL 中的值,这些值具有多个实例以及实例数量(例如 Bill_Gates | 4)。
所以看起来我的代码一定有问题 - 除非食物链上方的文件中存在错误,但我认为这不太可能。
$stm = $pdo->prepare("select URL, count(*)
from ((SELECT 'GZ' AS GSiteID, NULL as Site, 'Life' AS GSection, GZL.Taxon AS URL
FROM gz_life GZL WHERE GZL.Taxon = :MyURL
) UNION ALL
(SELECT 'All' AS GSiteID, NULL as Site, 'World' AS GSection, GG.Name AS URL
FROM gw_geog GG WHERE GG.Name = :MyURL
) UNION ALL
(SELECT 'PX' AS GSiteID, Site, 'People' AS GSection, Ppl.URL
FROM people Ppl WHERE Ppl.URL = :MyURL
)
) t
group by URL
having count(*) > 1;");
$stm->execute(array(
'MyURL'=>$MyURL
));
while ($row = $stm->fetch())
{
$URL = $row['URL'];
}
echo join( $URL, '<br>' );
附注我发布了 var_dump($URL);在上面脚本的最后,但它只显示 string(9) "Zachaenus",这对我来说没有任何意义。 (我认为 Zachaenus 是 Life 表中的一个学名。)但我以前从未使用过 var_dump,所以也许我做得不正确。
最佳答案
您需要首先使用glue参数。
echo join( '<br>',$URL );
^^^^^ ^^^^ //<---- Order Interchanged
或者,您可以使用 implode
它对连接执行相同的操作。
其次.. $URL
必须是数组。
$URL = array();
while ($row = $stm->fetch())
{
array_push($URL,$row['URL']);
}
关于php - 警告 : join() [function. join]:传递的参数无效(PHP/MySQL 查询),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21358773/