SELECT
语句检索一个整数值,我会将其传递到UPDATE
语句中,但我还没有成功。以下是我到目前为止所做的事情,它不起作用。如有任何建议,将不胜感激。 $empID
使用php从表单传递。
$getemID ="SELECT `addressID` FROM `address` WHERE `userID` =$empID";
$myemID = mysql_query($getemID) or die(mysql_error());
$addrID = $myemID["addressID"];
$sql4="UPDATE `address`
SET `line1`='$line1', `line2`='$line2', `city`='$city', `zip`='$zip'
WHERE `addressID`=$addrID";
$res = mysql_query($sql4) or die(mysql_error());
答案 0 :(得分:0)
虽然您不应使用已弃用的 mysql_*
功能,但以下内容仍然存在:
mysql_query
调用的返回值不是数组,而是资源。在mysql_fetch_array
之类的调用中使用此资源来获取数据。然后,您可以将该数据用于其他查询。
答案 1 :(得分:0)
选择查询后,您必须使用mysql_fetch_array获取它们。如下所示:
$getemID ="SELECT `addressID` FROM `address` WHERE `userID` =$empID";
$myemID = mysql_query($getemID) or die(mysql_error());
$row = mysql_fetch_array($myemID);
$addrID = $row["addressID"];
$sql4="UPDATE `address`
SET `line1`='$line1', `line2`='$line2', `city`='$city', `zip`='$zip'
WHERE `addressID`='$addrID' ";
$res = mysql_query($sql4) or die(mysql_error());
答案 2 :(得分:0)
为什么不在下面的单个查询中执行此操作
UPDATE `address`
SET `line1`='$line1', `line2`='$line2', `city`='$city', `zip`='$zip'
WHERE `addressID` IN (
SELECT `addressID` FROM `address` WHERE `userID` =$empID
)