<?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
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.