2015-04-06 93 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

相关问题