我想使函数从数据库中选择数据

时间:2013-01-28 20:32:24

标签: php

我想创建从数据库中选择数据的功能

这是功能:

function database_select ($select_code){
$result = mysql_query("$select_code");
$database_fetch_array = mysql_fetch_array($result);
return $database_fetch_array;
}

这是一个如何使用它的例子

$select_code = "SELECT * FROM products";
$result = mysql_query("$select_code");
$database_fetch_array = mysql_fetch_array($result);
while($row = $database_fetch_array)
 {
$product_name= $row['product_name'];
echo "$product_name <br />";
 }

但是这条线存在问题

while($row = $database_fetch_array)

重复数据并且数据相同

如果我用这行替换了这段代码

while($row = mysql_fetch_array($result))

每件事都没问题

不幸的是,我想将[mysql_fetch_array($ result)]结果放入变量

使它像

while($row = $database_fetch_array)

或类似的

任何想法?

1 个答案:

答案 0 :(得分:0)

问题在于,由于mysql_fetch_array($result);获取下一个结果,因此它必须是循环的一部分。 使用时没有太大的错误:

while($row = mysql_fetch_array($result))

实际上它是惯用的PHP。

请注意,这会根据需要将结果存储在变量中($row变量)。如果由于某种原因你仍然希望将它保存在变量中,则最接近的可能是:

$database_fetch_array = mysql_fetch_array($result);
while($row = $database_fetch_array){
    $product_name= $row['product_name'];
    echo "$product_name <br />";
    $database_fetch_array = mysql_fetch_array($result);
}

但我不会推荐这个。它比其他版本更长,保持变量没有效果,这也可能会减慢使用代码的人的速度。