PHP& MySQL对数据库中的每一行执行操作

时间:2016-02-01 21:13:59

标签: php mysql

我正在构建一个站点,基本上这个PHP算法将做的是一次查看一个产品(MySQL数据库中的行),并相应地执行一个过程。

我对此进行了大量研究,但找不到任何内容,我们将非常感谢任何帮助!

我的代码(当前没有为echo变量返回任何内容):

<?php
include_once 'dbconnect.php';


$query = "SELECT * FROM track"; 
$result = mysql_query($query);


while($row = mysql_fetch_array($result)){ 
    $pro_code = mysql_result(mysql_fetch_array(mysql_query('SELECT product_code FROM track')));
    $currency = mysql_fetch_array(mysql_query('SELECT currency FROM track'));
    $cc = mysql_fetch_array(mysql_query('SELECT cctld FROM track'));
    $initial_price = mysql_fetch_array(mysql_query('SELECT initial_price FROM track'));

    $url = 'test';
}

echo $pro_code;
echo $currency;
echo $initial_price;

?>

2 个答案:

答案 0 :(得分:1)

首先,有朝一日尝试关于PDO和Jay Blanchard的建议。

其次,无论如何我都试图回答你的问题,并且我试图解释你的完整意图。我在代码中添加了注释:

    <?php
    include_once 'dbconnect.php';

    $query = "SELECT * FROM track"; 
    $result = mysql_query($query);

    while($row = mysql_fetch_array($result)){ 

        //You need to read the row variable as an array
        $pro_code       = $row['product_code'];
        $currency       = $row['currency'];
        $cc             = $row['cctld'];
        $initial_price  = $row['initial_price'];

        //$url is not used.. I asume a test to get the external source ;-)
        $url = 'test';

        if ($url == $cc) {
            //if you want to print every row, you must echo inside the while loop
            echo $pro_code;
            echo $currency;
            echo $initial_price;    
        } elseif ($url == 'test') {
            //do something else here
        } else {
            //do something for all the other cases here
        }//end if

    }//end while
    ?>

答案 1 :(得分:0)

为什么要多次查询同一个表,你的代码应该这样写:

include_once 'dbconnect.php';


$query = "SELECT product_code, currency, cctld, initial_price FROM track"; 
$result = mysql_query($query);


while($row = mysql_fetch_array($result, MYSQL_ASSOC)){ 
    echo $row['product_code'];
    echo $row['currency'];
    echo $row['cctld'];
    echo $row['initial_price'];
}

请升级到mysqliPDO