弱弱的一个代码问题请教

2015-02-05 17:57:09 +08:00
 vimong

<?php
require_once('config.php');

mysql_select_db($database_default, $default);
$query_sub = "SELECT * FORM domain";
$sub = mysql_query($query_sub, $default) or die(mysql_error());
$row_sub = mysql_fetch_assoc($sub);
$total_sub = mysql_num_rows($sub);

function dm($id){
mysql_select_db($database_default, $default)l
$query_site = "SELECT * FORM site WHERE sid = '$sid'";
$site = mysql_query($query_site, $default) or die(mysql_error());
$row_site = mysql_fetch_assoc($site);
return $row_site['domain'];
}

do{
echo $row_sub['domain'].dm($row_sub['sid'])."<br/>";
} while ($row_sub = mysql_fetch_assoc($sub));

?>

这样就白屏了(貌似是输出为空)……开启了所有错误显示也没输出,看了下网页状态是200 OK。
但是如果去掉dm($row_sub['sid'])就一切正常,但是没办法输出site表的相应内容

然后改用foreach:
<?php
require_once 'config.php';
error_reporting(E_ALL & ~E_NOTICE);

mysql_select_db($database_default, $default);
$query_sub = "SELECT * FROM domain";
$sub = mysql_query($query_sub, $default) or die(mysql_error());
$row_sub = mysql_fetch_assoc($sub);

foreach($row_sub as $test){
mysql_select_db($database_default, $default);
$sid = $test['sid'];
$query_site = "SELECT * FROM site WHERE sid = '$sid'";
$site = mysql_query($query_site, $default) or die(mysql_error());
$row_site = mysql_fetch_assoc($site);
echo $row_site['domain'];
}
?>
然后发现输出为空。
然后print_r($row_site)也是输出空
然后echo $sid 就输出9w81120但是这和我根本不在数据库里。

试着print_r($test)发现都是数据库从domain表获取的数据,但是都变成不是array数组了?

求解决,请教,上面的代码要怎写。

就是先获取domain表所有的sid,然后再一个一个的根据domain表记录的sid去查site表对应的domain

2004 次点击
所在节点    PHP
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/168562

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX