而数据库循环在foreach数组循环中。 PHP / MySQL的

时间:2011-11-16 11:25:04

标签: php mysql

以下脚本可以正常工作,但仅适用于数组中的第一条记录。

$codes = array(1,2,3,4,5,6,7,8,9,10); // demo for this question, i actually have 1000+ 
$con = mysql_connect("localhost","user","pass");
if (!$con)
 {
 die('Could not connect1: ' . mysql_error());
 }
$con2 = mysql_select_db("db", $con);
 if (!$con2)
 {
 die('Could not connect2: ' . mysql_error());
 }

 $productsid = "select `products_id` from `coupons_products` where    `coupons_id`=58386264";
 $productsquery = mysql_query($productsid);

 foreach ($codes as $code) {
 while ($productid = mysql_fetch_assoc($productsquery)){
 $sql = "insert into discount_coupons_to_products values (
            '$code', 
            '{$productid['products_id']}')";
                    $con4 = mysql_query($sql);
        if (!$con4)
 {
 die('Could not connect4: ' . mysql_error());
 }
        }


 } // end foreach

我有一组来自数据库的代码,只需要应用于特定产品(与58386264相同)。代码可以工作,但只适用于数组中的第一个优惠券($ code)。

1 个答案:

答案 0 :(得分:1)

如果我理解它意味着什么,你将需要在foreach中的每一步运行mysql_query命令,而不是像你实际上那样运行mysql_fetch_assoc。