我想将结果添加到数组中并在屏幕上打印。 这是我的代码,什么都没有打印......有人可以帮我看看。
include('config.php');
$con = mysql_connect($host, $username, $password);
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db('members', $con) or die(mysql_error()) ;
$sql = "SELECT * FROM people where status like '%married%' ";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){
$result_array[] = $row['id']; // <-------**here**
}
return $result_array;
echo($result_array);
mysql_close($con);
答案 0 :(得分:5)
在执行echo / mysql_close之前,您正在执行return
,因此回显/关闭调用永远不会被执行。除非你有更多关于这个代码片段的代码,否则没有任何回复调用,因为你实际上并不在函数中,所以返回实际上是作为“exit()”调用,因为你已经在执行堆栈的顶部。
答案 1 :(得分:2)
首先,改变:
mysql_select_db(mtar, $con) or die(mysql_error());
要:
mysql_select_db('mtar', $con) or die(mysql_error());
然后删除return $result_array;
- 你不需要它,当在函数之外使用时它只是停止执行脚本。
最后,改变
echo($result_array);
为:
print_r($result_array);
编辑:一些额外的想法:
围绕echo
的参数不需要括号 - 实际上更有效的方法是将它们排除在外:echo $var;
比echo($var);
更快
如果您只打算使用id
列,请不要选择整行:使用SELECT id FROM
代替SELECT * FROM
。
你确定你需要“结婚”两边的通配符吗?您可能会这样做(取决于status
的可能值),但您可能没有。所以
$sql = "SELECT id FROM people where status = 'married' ";
可能会更好,