谁能告诉我我的代码有什么问题吗?我在最后一行收到错误消息“警告:join()[function.join]:传入的参数无效……”-echo join($ URL,’ ‘);
我检查了这次讨论,但没有任何点击。我将查询粘贴到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>' );
PS我张贴var_dump($ URL); 在上述脚本的最后,但只显示了string(9)“ Zachaenus”,这对我来说没有任何意义。(我认为Zachaenus是Life表中的科学名称。)但是我之前从未使用过var_dump,所以也许我做得不正确。
您需要首先使用胶水参数。
echo join( '<br>',$URL ); ^^^^^ ^^^^ //<---- Order Interchanged
另外,您可以利用implode其中的连接进行相同的操作。
implode
其次..$URL必须是数组。
$URL
$URL = array(); while ($row = $stm->fetch()) { array_push($URL,$row['URL']); }