我正在使用SELECT查询来使用mysql_fetch_assoc获取变量。然后,将变量放入UPDATE变量,将返回的值放回数据库中。
如果我对该值进行硬编码,或使用传统变量并且它很好,但在使用先前从数据库中检索的值时它不起作用。我已经尝试将数组变量重置为我自己的文本,这是有效的。
$arrgateRetrivalQuery = mysql_query(**Select Query**);
$arrGate = mysql_fetch_assoc($arrgateRetrivalQuery);
$arrivalGateTest = $arrGate['gatetype'];
$setGateAirportSQL = "UPDATE pilots SET currentgate = '".$arrivalGateTest."' WHERE pilotid = '".$pilotid."'";
$setGateAirportQuery = mysql_query($setGateAirportSQL);
// Close MySQL Connection
mysql_close($link);
这只会使更新字段中没有任何内容,但每当我将SELECT中的变量删除到我定义的数组时,它都可以工作。
希望这很清楚。提前谢谢。
答案 0 :(得分:0)
arrivalGateTest
是数字还是字符串?你是如何尝试在查询中添加另一个值的?如果您确定上一个查询返回一个值,请尝试编写:$setGateAirportSQL = "UPDATE pilots SET currentgate = '$arrivalGateTest' WHERE pilotid = '$pilotid'";
。
答案 1 :(得分:0)
只需更改你的sql以包含子查询。
您可以使用以下一般语法:
UPDATE pilots SET currentgate = (SELECT gate FROM airport WHERE flight='NZ1') WHERE pilotid='2';
上演示
这可以节省额外的查询,更准确地描述您要实现的目标。
警告 - 先仔细测试!