Php 如果生成带有默认值的下拉列表的while循环中的station在更新外键时导致SQL错误
我遇到的问题是,以下代码在试图修改记录时导致MySQL错误Php 如果生成带有默认值的下拉列表的while循环中的station在更新外键时导致SQL错误,php,mysql,sql,Php,Mysql,Sql,我遇到的问题是,以下代码在试图修改记录时导致MySQL错误 $selected_value = mysql_query("SELECT product_categories_ID FROM webstore.products WHERE ID = $PROD_NUM"); $sql = mysql_query("SELECT * FROM webstore.product_categories"); while ($row = mysq
$selected_value = mysql_query("SELECT product_categories_ID FROM webstore.products WHERE ID = $PROD_NUM");
$sql = mysql_query("SELECT * FROM webstore.product_categories");
while ($row = mysql_fetch_array($sql)){
if($row['ID'] = $selected_value)
{
echo "<option selected='selected' value='". $row['ID']."'>" . $row['NAME'] . "</option>";
}
else
{
echo "<option value='". $row['ID']."'>" . $row['NAME'] . "</option>";
}
}
$selected\u value=mysql\u查询(“从webstore.products中选择产品类别\u ID,其中ID=$PROD\u NUM”);
$sql=mysql\u查询(“从webstore.product\u类别中选择*);
而($row=mysql\u fetch\u数组($sql)){
如果($row['ID']=$selected\u值)
{
回显“$row['NAME']”;
}
其他的
{
回显“$row['NAME']”;
}
}
上面的代码旨在列出相关表中的类别,并使用name和ID属性填充一个下拉框,其中用户看到的是名称,但传递的值是ID。if语句用于确定默认值
给出的SQL错误为:
无法添加或更新子行:外键约束失败
(webstore
products
,CONSTRAINTfk\u products\u products\u categories
外键(product\u categories\u ID
)引用product\u categories
(ID
)删除时无操作更新时无操作)
我已将错误追溯到这段代码,但不知道如何更正它。
$selected\u value
具有正在评估的结果资源
试试这个:
$result = mysql_query("SELECT product_categories_ID FROM webstore.products WHERE ID = $PROD_NUM");
$row = mysql_fetch_row($result);
$selected_value = $row["product_categories_ID"];
您的if
条件应具有=
我认为你也应该检查你的更新查询