我有这段代码:
$product_array = array(
"106" => array(
'product_id'=>'106',
'product_catgegory'=>'Accessories',
'product_name'=>'Headphone with mic',
'product_desc'=>'',
'product_price'=>'148.85',
'product_img'=>'products/product8.jpg'
)
);
我总是从数据库中获取数据:
$query = "select * from meal where cat='$id'";
$encode = mysqli_query($con,"SET NAMES utf8");
$func = mysqli_query($con , $query);
while($row = mysqli_fetch_array($func)) {
$ida = $row['id'];
$name = $row['name'];
$img = $row['img'];
$id = $row['id'];
$price = $row['price'];
$desc = $row['desc'];
}
我的问题是我想在数组中写入从数据库接收的数据 例如:
$product_array = array(
"106" =>array(
'product_id'=>'$id',
'product_catgegory'=>'$cat',
'product_name'=>'$name',
'product_desc'=>'',
'product_price'=>'$price',
'product_img'=>'$img'
)
);
答案 0 :(得分:0)
<强>原因强>
您不应该使用单引号,因为'$id'
之类的变量不会被PHP解释。
<强>解强>
请参阅下面的更新代码。我不清楚product_catgegory
应该使用什么,所以我把它留空了。
$query = "select * from meal where cat='$id'";
$encode = mysqli_query($con, "SET NAMES utf8");
$func = mysqli_query($con, $query);
while($row = mysqli_fetch_array($func)) {
$product_array[$row['id']] = array(
'product_id' => $row['id'],
'product_catgegory' => '',
'product_name' => $row['name'],
'product_desc' => $row['desc'],
'product_price' => $row['price'],
'product_img' => $row['img']
)
}
备注强>
确保在运行$id = mysqli_real_escape_string($con, $id);
之前执行mysqli_query()
之类的操作,否则,您将对SQL注入攻击开放。