将MySQL结果添加到PHP数组中

时间:2011-10-20 14:52:54

标签: php mysql

我想将结果添加到数组中并在屏幕上打印。 这是我的代码,什么都没有打印......有人可以帮我看看。

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);

2 个答案:

答案 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' "; 

可能会更好,