我在哪里犯了一个错误,得到了我在下面写的输出?
数组内部是表的名称。
假设这些表中有0行,所以输出值应该是0。
<?php
$g_module =
array(
'm_b_broadcast_live',
'm_b_browsing_live',
'm_e_askfm_likes_live',
'm_e_facebook_followers_live',
'm_e_facebook_group_joins_live',
);
for ($i = 0; $i <= 5; $i++) {
$modules_names = "g_module[$i]";
$modules_from = '$'.$modules_names;
$modules_rows = '$g_module_row_'.$i;
$$modules_rows = mysql_num_rows("SELECT * FROM $$modules_from");
}
echo $g_module_row_1;
echo '</br>';
echo $g_module_row_2;
echo '</br>';
echo $g_module_row_3;
echo '</br>';
echo $g_module_row_4;
echo '</br>';
echo $g_module_row_5;
/* output should be:
0
0
0
0
0
* /
?>
2条答案
按热度按时间4szc88ey1#
正如对你问题的评论中所说,
mysql_num_rows()
将查询结果作为参数,而不是查询字符串。另外,你应该使用
mysqli
! 请看这里的文档。另一个可以简化的方法是避开美元符号,这样就不必将一个与另一个连接起来
$modules_names
再一次。更正后的代码如下所示:
klr1opcd2#
我想你应该这样试试。