我有一个不能工作的代码
<body>
<?php $outerSql = mysql_query("select * from gree_menu"); ?>
<ul>
<?php
while($outerRow = mysql_fetch_array($outerSql)) {
$outerMenu = $outerRow['menu_name'];
$outerId = $outerRow['menu_id'];
?>
<li>
<?=$outerMenu; ?>
<?php $innerSql = mysql_query("SELECT sp.* FROM gree_menu gm INNER JOIN silicon_prod sp ON gm.menu_id = sp.menu_parent_id WHERE gm.menu_id = {$outerID}");?>
<ul>
<?php
while($innerRow = mysql_fetch_array($innerSql)) {
$innerMenu = $innerRow['prod_name'];
?>
<li><?= $innerMenu;?></li>
<?php
}
?>
</ul>
</li>
<?php
}
?>
</ul>
给我带来麻烦的那一行是
<?php $innerSql = mysql_query("SELECT sp.* FROM gree_menu gm INNER JOIN silicon_prod sp ON gm.menu_id = sp.menu_parent_id WHERE gm.menu_id = {$outerID}");?>如果我给出的查询如下
<?php $innerSql = mysql_query("SELECT sp.* FROM gree_menu gm INNER JOIN silicon_prod sp ON gm.menu_id = sp.menu_parent_id WHERE gm.menu_id = 7");?>它工作得很好。但我希望它是动态的。menu_id的有效值为7、8、9
请帮帮忙
发布于 2012-10-20 15:08:56
尝尝这个
<?php $innerSql = mysql_query("SELECT sp.* FROM gree_menu gm INNER JOIN silicon_prod sp ON gm.menu_id = sp.menu_parent_id WHERE gm.menu_id =".{$outerID});?>
发布于 2012-10-20 15:23:38
你在outerID中有打字错误,而不是@Abhi Beckert提到的outerId。
$outerId = $outerRow['menu_id'];您在查询中使用了$outerID。所以我不认为你的查询有错误。请更正拼写错误,然后重试。
如果您想要更改查询,请尝试如下所示
$innerSql = mysql_query("SELECT sp.* FROM gree_menu gm
INNER JOIN silicon_prod sp ON gm.menu_id = sp.menu_parent_id
WHERE gm.menu_id = ".$outerId);发布于 2012-10-20 15:28:04
你可以试试这个
<?php $innerSql = mysql_query("SELECT sp.* FROM gree_menu gm INNER JOIN silicon_prod sp ON gm.menu_id = sp.menu_parent_id WHERE gm.menu_id = ".$outerID."");?>https://stackoverflow.com/questions/12986137
复制相似问题