将值从mysql传递到php如何避免空值

zpgglvta  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(287)

我想使用mysql值在php中动态填充一个网站菜单。
mysql表由两个字段组成:
第一个称为“类别”,另一个称为“父级”。
但我还需要指定一些“子类别”,例如:
类别:男、女、男、女
子类别:衬衫、裤子、鞋子、配饰
所以我想通过在表中实现一个“parent”字段来解决这个问题:
如果parent=0,则表示这是一个主要类别(男性、女性、男孩、女孩)
如果parent=1,则表示它是一个子类别,因此是男式衬衫
如果parent=1,则表示它是一个子类别,因此它是男式裤子
如果parent=1,则表示它是一个子类别,因此是男鞋
如果parent=1,则表示它是一个子类别,因此是男式衬衫
如果parent=2,则表示它是一个子类别,因此是女式衬衫
如果parent=2,则意味着它是一个子类别,因此是women's pants
如果parent=2,则表示它是一个子类别,因此是女鞋
如果parent=2,则表示它是一个子类别,因此是女式衬衫
…等等。。。
(也许有更有效的方法,但我就是这么想的)
现在,如果我这样设置php代码:

$parent_arr_id = $parent_arr['id'];
$sql = "SELECT * FROM categories WHERE parent ='parent_arr_id'";
$query_child = $db->query($sql);
while($child = mysqli_fetch_assoc($query_child)) :
echo $child['category'];
endwhile;

在mysql数据库中有parent=1,我应该得到什么?
正确的输出应该是:
衬衫、裤子、鞋子、配饰。
相反,我得到:
男人,女人,男孩,女孩
我查了三遍表中的默认值,一切都是正确的,我可以保证100%。
我直接在mysql中手动进行查询,它可以正常工作。
所以我仔细检查了第一行,通过像这样重复它的变量:

$parent_arr_id = $parent_arr['id'];
var_dump($parent_arr_id);

但我得到一个空值!
我想这就是为什么我
男人,女人,男孩,女孩
衬衫、裤子、鞋子、配饰。
可能它们是默认值(?)。
在线检查这似乎是因为它是一个关联对象数组,应该转换成字符串数组。我试过:

var_dump ($child['category']);

但没什么变化:空
有人能帮我吗?
我不知道如何解决这样的困境!:)
事先非常感谢!

58wvjzkj

58wvjzkj1#

问题解决了。只是因为我没有把$符号放在变量名($parent\u arr\u id)之前。应该是:
$sql=“select*from categories where parent=$parent\u arr\u id”;

相关问题