2
我試圖從MySQL表中選擇一個具有最小值的行,並使用PHP更新該行的標誌列。但它不適合我。如果我把它分解成兩個查詢,它可以工作,但是將兩者結合起來不會發生任何變化。我究竟做錯了什麼?PHP和MySQL:如何結合UPDATE和SELECT(帶最小功能)查詢
這裏是什麼工作:
$flag = 1;
$query = "SELECT MIN(value) FROM ". $myTable;
$data = mysqli_query($dbh, $query);
$dataSet = mysqli_fetch_row($data);
$value = $dataSet[0];
$queryUpdate = "UPDATE ". $myTable . " SET flag='" . $flag . "' WHERE value='" . $value. "'";
$dataUpdate = mysqli_query($dbh, $queryUpdate);
這裏是嘗試我做了,但失敗:
//attempt #1
$flag = 1;
$query = "UPDATE ". $myTable . " SET flag='" . $flag . "' WHERE value=(SELECT MIN(value) FROM '". $myTable . "')";
$data = mysqli_query($dbh, $query);
// attempt #2
$flag = 1;
$query = "UPDATE ". $myTable . " SET flag='" . $flag . "' ORDER BY value ASC LIMIT 1";
$data = mysqli_query($dbh, $query);
// attempt #3
$flag = 1;
$query = "UPDATE ". $myTable . " T1
INNER JOIN (SELECT MIN(value) FROM ". $myTable . ") T2
ON T1.id = T2.id
SET T1.flag=" . $flag;
$data = mysqli_query($dbh, $query);
mysqli_error()返回
警告:mysqli_error()期望的是1個參數,給出0 [在$ data = mysqli_query($ dbh,$ query)行中。]
任何幫助,將不勝感激。
請_please_ ** **請使用準備好的查詢.... – Neal
@thatidiotguy看到我的評論上述.... – Neal
在哪裏使用'mysqli_error()'?你需要傳遞它'$ dbh'。 –