求助,新手在使用ci操作数据库时使用数据库中的函件语法
第一次接触ci,版本是3.x,在使用ci操作数据时语法求助insert 时,我需要使用到uuid,不知道如何将upper(replace(uuid(),'-','')),写到代码中
$data = array(
'user_id' => replace(uuid(),'-',''), //此处不知如何写,请指教
'user_name' => $this->input->post('email')
);
return $this->db->insert('user', $data); Closer 发表于 2016-1-4 17:19
Message: Call to undefined function replace()
是告訴你他呼叫不到這個方法名
因為你這樣用 replace(uuid ...
我现在想使用uuid做为唯一编码,uuid是mysql 自带的,和ci没关系
因此,我想在ci语句中直接转换到sql 语句中,直接使用查询到uuid的函数,其中是替换掉'-'的字符
为啥我使用以下语句:
$query = $this->db->query('select uuid()');
$row = $query->row();
返回结果为空,语句我可以直接在数据库中执行。 Closer 发表于 2016-1-4 17:42
這就是兩回事了
我說沒有選擇哪個是指你呼叫 $row = $query->row(); 之後
應該是直接 echo $row; 吧
$row = $query->row(); $uuid = $row->uuid;
或
$row = $query->row_array(); $uuid = $row['uuid'];
都可以
本帖最后由 Closer 于 2016-1-4 17:34 编辑
因為你輸出的是物件
呼叫他的時候要選擇你要哪個
$query = $this->db->query('select uuid() as id');
$row = $query->row_array(); // 若是物件則 $query->row()
echo '<pre>';
print_r($row['id']); // 若是物件則 $row->id
echo '</pre>';
無關 CI,此為 PHP 函數問題 是不是需要使用$this->load->helper(“XX")之类的》? 会提示Message: Call to undefined function replace(),是不是需要加载什么? developerm 发表于 2016-1-4 17:08
是不是需要使用$this->load->helper(“XX")之类的》?
也許你該先查詢
PHP 是否有 replace() 與 uuid() 函數
它們的功能是甚麼 Closer 发表于 2016-1-4 17:10
也許你該先查詢
PHP 是否有 replace() 與 uuid() 函數
它們的功能是甚麼
是mysql 中的内置函数,是的,我现在尝试先执行select replace(uuid(),"-","");语句; developerm 发表于 2016-1-4 17:13
是mysql 中的内置函数,是的,我现在尝试先执行select replace(uuid(),"-","");语句; ...
抱歉,我學識淺薄,還真的沒在 mysql 用過這兩個函數
問題也許是你混用了 Message: Call to undefined function replace()
是告訴你他呼叫不到這個方法名
因為你這樣用 replace(uuid(),'-','')
請先這樣看他 replace()
這樣子是不是像是在呼叫某函數或是方法 ? 你的需求比較特殊
應該要自行編寫 SQL 語法
使用 $query = $this->db->query('YOUR QUERY HERE');
參考 : CI 手冊 - 查詢
页:
[1]
2