【发布时间】:2014-06-01 19:44:54
【问题描述】:
如何在 mysqli_query 中使用 $row 结果?
$result1 = mysqli_query($connect,"SELECT subcat_ID FROM subcategories WHERE cat_ID=$cat_ID");
$row=mysqli_fetch_array($result1);
$result2 = mysqli_query($connect,"SELECT subsubcat_name FROM subsubcategories WHERE subcat_ID='".$row['subcat_ID']."'");
while ($row = mysqli_fetch_array($result2)){
if (isset($row)){
echo $row['subsubcat_name'];
echo "<br>";
}
我没有收到任何错误,但我无法将其打印出来。
知道我做错了什么吗?
感谢您的帮助!
================================================ ====================================
第一次编辑
因为我的问题还没有解决,我再深入一点解释一下:
我的数据库: - 类别:cat_ID、cat_name - 子类别:subcat_ID、cat_ID、extra_cat_ID、subcat_name - 子类别:subsubcat_ID、subcat_ID、subsubcat_name
在某个时刻,我通过 url 获得 cat_ID(类别)的值。 我想要做的是类别的cat_id与子类别中的cat_id或extra_cat_ID的值相同(我也希望能够打印subcat_name),其中子类别的subcat_ID与子类别的subcat_ID相同--->打印subsubcat_name。
Categories
-------------------------
cat_ID | cat_name
------------------
4 | Baby & Kids
5 | Bicycles
6 | Boats
7 | Books & Comics
....
13 | Clothes & Accessories
....
35 | Sport & Fitness
36 | Study
....
38 | Toys & Games
....
Subcategories
-------------------------
subcat_ID | cat_ID | extra_cat_ID | subcat_name
------------------------------------------------
....
15 | 4 | 13 | Baby clothes
16 | 4 | 0 | Baby products
17 | 4 | 13 | Kids clothes
18 | 4 | 38 | Toys
19 | 5 | 0 | Bycicles
20 | 5 | 0 | Bycicle gear & Accessories
21 | 6 | 0 | Boat parts
22 | 6 | 0 | Other Boats
23 | 6 | 0 | Power Boats
24 | 6 | 0 | Sailboats
25 | 6 | 35 | Windsurf & Surfing
26 | 7 | 0 | Antiquarian
27 | 7 | 0 | Books
28 | 7 | 38 | Childrens books
29 | 7 | 0 | Comics
30 | 7 | 0 | Magazines & Newspapers
31 | 7 | 36 | Study & Training
Subsubcategories
-------------------------
subsubcat_ID | subcat_ID | subsubcat_name
-----------------------------------------
...
470 | 15 | Baptism outfits
471 | 15 | Bibs
472 | 15 | Body warmers
473 | 15 | Bodysuits
....
496 | 16 | Baby bath
497 | 16 | Baby books
498 | 16 | Baby inserts
499 | 16 | Baby monitors
....
548 | 17 | Belts
549 | 17 | Blouses & Shirts
550 | 17 | Body warmer
551 | 17 | Boots
....
....
740 | 26 | Music
741 | 26 | Navy
742 | 26 | Novel
743 | 26 | Photography
....
....
867 | 30 | Animals
868 | 30 | Arts and Culture
869 | 30 | Branch
870 | 30 | Cars
870 | 30 | Computers
....
....
etc.
我希望这能澄清一些事情。
【问题讨论】:
-
您的第一个 WHERE 语句应该在
"内 -
另外,您不需要检查
$row是否设置在while ($row...内,因为如果您在while($row...内,那么您就知道它已设置。也许你的意思是isset($row['subsubcat_name'])? -
感谢您回复 rybo111。输入我的问题时,“是一个错字。抱歉。
-
即使我使用 isset($row['subsubcat_name']) 它也没有显示任何内容。没有错误,没有输出。顺便说一句,感谢您提供有关检查 $row 是否已设置的提示。
-
尝试将您的 SQL 查询设置为这样的变量:
$sql = "SELECT...然后回显它。然后在 phpMyAdmin 中运行该查询。它可能会在那里显示错误。