2015-04-06 91 views
-2

我把從數據庫中檢索到的int值的數據,但它給我的錯誤:將在數據庫中選擇的數據轉換爲int時出錯?

Object of class mysqli_result could not be converted to int.

這裏是我的代碼部分:

$sql = 'SELECT M_id FROM student_data ORDER BY id DESC LIMIT 1'; 
    $result = $conn->query($sql); 
    $int= intval ($result); 
    $int = $int++; 

我想這個數據轉換到int,以便增加後我可以把它放回到數據庫中。 但我無法找到任何解決方案。我已經訪問了所有相關的問題以前問過!任何人都可以請指導我我做錯了什麼?

回答

1

您需要讀取該行:

$row = $result->fetch_assoc(); 
$int = intval($row['M_id']); 

注意,您可以使用單個查詢直接更新值:

UPDATE student_data AS s1 
JOIN (SELECT MAX(id) maxid 
     FROM student_data) AS s2 
ON s1.id = s2.maxid 
SET M_id = M_id + 1 
+0

不過它沒有取M_ID的價值。 –

+0

我不明白爲什麼它不會獲取價值。但是我添加了一種方法來執行更新,而不需要獲取它。 – Barmar

相關問題