我有一个 PHP 服务器脚本,可以从 MySQL 数据库中选择一些数据。
一旦我将 mysql_query 和 mysql_fetch_assoc 的结果存储在我自己的局部变量中,我就想删除我刚刚选择的行。
这种方法的问题在于,PHP 似乎对我的局部变量进行了传递引用而不是传递值,并且我的局部变量在删除命令之后变得未定义。
有没有办法解决这个问题?这是我的代码:
$query="SELECT id, peerID, name FROM names WHERE peer = $userID AND docID = '$docID' AND seqNo = $nid";
$result = mysql_query($query);
if (!$result)
self::logError("FAIL:1 getUsersNamesUpdate() query: ".$query."\n");
if (mysql_num_rows($result) == 0)
return array();
$row = mysql_fetch_assoc($result);
$result = array();
$result["id"] = $row["id"];
$result["peerID"] = $row["peerID"];
$result["name"] = $row["name"];
$query="DELETE FROM names WHERE id = $result[id];";
$result = mysql_query($query);
if (!$result)
self::logError("FAIL:2 getUsersNamesUpdate() query: ".$query."\n");
return $result;