我有一个如下所示的数据库:
Name | MyPrice | MyStock |
------------------------------
blue_pill | 20 | Yes |
------------------------------
red_pill | 10 | No |
------------------------------
我想要一个能够轻松定义4个变量的代码(每个项目的价格为2个,每个项目的库存状态为2个)。
(一般来说,我会有超过2项,所以我正在寻找获得这些变量的最佳实践。)
所以我有以下代码,但它不起作用,我收到错误:
Notice: Undefined index: name
(显示6次)
Notice: Undefined index: stock
(显示2次)
$item1 = "blue_pill";
$item2 = "red_pill";
$productList = array();
$products = $mysqli->query("select * from table_products where Name IN ('$item1', '$item2')");
if($products){
while($product = mysqli_fetch_assoc($products)){
$productList[$product['name']]['MyPrice'] = $product['name']; //Errors Start Here
$productList[$product['name']]['MyStock'] = $product['stock'];
}
}
//first product:
$price1 = $productList[$item1]['price'];
$red_pill_stock = $productList[$item1]['stock'];
//second product:
$price2 = $productList[$item2]['price'];
$blue_pill_stock = $productList[$item2]['stock'];
导致错误的原因是什么?
答案 0 :(得分:1)
如果你的专栏'名称实际上是Name
和MyStock
,那么您的值在$product
项中,完全这样的索引 - Name
和MyStock
:< / p>
if($products){
while($product = mysqli_fetch_assoc($products)){
$productList[$product['name']]['MyPrice'] = $product['Name']; // Index here
$productList[$product['name']]['MyStock'] = $product['MyStock']; // Index here
}
}
或者,如果您不确定有哪些密钥,print_r($product)
并检查。