以下脚本可以正常工作,但仅适用于数组中的第一条记录。
$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)。
答案 0 :(得分:1)
如果我理解它意味着什么,你将需要在foreach中的每一步运行mysql_query命令,而不是像你实际上那样运行mysql_fetch_assoc。