用户
 找回密码
 入住 CI 中国社区
搜索
12
返回列表 发新帖
楼主: developerm
收起左侧

[版本 3.x] 求助,新手在使用ci操作数据库时使用数据库中的函件语法

[复制链接]
 楼主| 发表于 2016-1-4 17:26:28 | 显示全部楼层
会提示:
Severity: 4096

Message: Object of class stdClass could not be converted to string

Filename: database/DB_driver.php

Line Number: 1398
发表于 2016-1-4 17:33:00 | 显示全部楼层
本帖最后由 Closer 于 2016-1-4 17:34 编辑


因為你輸出的是物件
呼叫他的時候要選擇你要哪個
PHP复制代码
 
$query = $this->db->query('select uuid() as id');
$row = $query->row_array(); // 若是物件則 $query->row()
 
echo '<pre>';
print_r($row['id']); // 若是物件則 $row->id
echo '</pre>';
复制代码

 楼主| 发表于 2016-1-4 17:36:53 | 显示全部楼层
Closer 发表于 2016-1-4 17:33
因為你輸出的是物件
呼叫他的時候要選擇你要哪個

非常感谢,兄弟。确实是因为没有明确我要选择哪个,添加as id即可调用返回的值。
 楼主| 发表于 2016-1-4 17:39:33 | 显示全部楼层
Closer 发表于 2016-1-4 17:33
因為你輸出的是物件
呼叫他的時候要選擇你要哪個

您所说的物件是指表中的具体字段吗?
发表于 2016-1-4 17:42:03 | 显示全部楼层
本帖最后由 Closer 于 2016-1-4 17:43 编辑
developerm 发表于 2016-1-4 17:36
非常感谢,兄弟。确实是因为没有明确我要选择哪个,添加as id即可调用返回的值。 ...

這就是兩回事了
我說沒有選擇哪個是指你呼叫 $row = $query->row(); 之後
應該是直接 echo $row; 吧
他需要 echo $row->id;

as id 只是重新定義名稱
不然你呼叫的時候得 echo $row->uuid();
應該會報錯,所以我才另取名為 id

 
 楼主| 发表于 2016-1-4 17:55:28 | 显示全部楼层
Closer 发表于 2016-1-4 17:42
這就是兩回事了
我說沒有選擇哪個是指你呼叫 $row = $query->row(); 之後
應該是直接 echo $row; 吧

恩,学习了。感谢!
 楼主| 发表于 2016-1-4 17:57:36 | 显示全部楼层
Closer 发表于 2016-1-4 17:42
這就是兩回事了
我說沒有選擇哪個是指你呼叫 $row = $query->row(); 之後
應該是直接 echo $row; 吧
PHP复制代码
$row = $query->row();        $uuid = $row->uuid;
复制代码



PHP复制代码
$row = $query->row_array();        $uuid = $row['uuid'];
复制代码

都可以
发表于 2016-1-4 18:01:06 | 显示全部楼层

哈哈,那也許是我誤會了
因為直接 print_r() 出來的陣列 key 值是 uuid()

本版积分规则