2016-11-09 / JSN / 0 Comments / 767 次瀏覽
PDO 的 PDO::FETCH_CLASS 用法,可以讓你指定對應的 Class 類別,然後自由處理你的方法。我們來看這個例子就懂了
<?php
// 這是提供給 PDO 使用的
class Member
{
// 拼湊字串
public function title()
{
// 可以直接使用這三個屬性,是因為 PDO 會將資料庫的欄位,對應到 class 的屬性
return "{$this->id} | {$this->account} | {$this->name}";
}
}
try
{
// 連接資訊
$pdo = new PDO("mysql:host=localhost;dbname=ci_jsn", 'root', '');
$pdo->query("set names utf8");
$sql = "select * from member limit 1";
// 運行 SQL
$query = $pdo->query($sql);
// 指定提取樣式(fetch_style)為 PDO::FETCH_CLASS,並將它對應到我們自訂的類別 Member
$datalist = $query->fetchAll(PDO::FETCH_CLASS, "Member");
foreach ($datalist as $datainfo)
{
// 我們呼叫自訂的方法 title()
echo $datainfo->title(); // 27 | root | 最高管理員
}
}
catch(Exception $e)
{
// 發生錯誤會顯示
echo $e->getMessage();
}
2013-05-28 / JSN / 0 Comments / 1,005 次瀏覽
在config/database.php設定如下
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'mysql:host=localhost'; //如果使用dbdriver使用mysql或mysqli就填寫localhost即可。使用PDO寫法較不一樣。
$db['default']['username'] = '資料庫使用者名稱';
$db['default']['password'] = '資料庫使用者密碼';
$db['default']['database'] = '資料庫名稱';
$db['default']['dbdriver'] = 'pdo'; //使用PDO
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
比較須要注意的就是
$db[‘default’][‘hostname’]
$db[‘default’][‘dbdriver’]
的地方~
2013-05-04 / JSN / 0 Comments / 568 次瀏覽
找出你程式碼連接資料庫(像我是連MySQL)的程式碼
若寫的是localhost,替換成127.0.0.1即可
2013-04-13 / JSN / 2 Comments / 2,447 次瀏覽
當出現這段文字的時候
phpMyAdmin 高級功能未全部設定,部分功能不可用。要查出原因請<a href="http://localhost/phpmyadmin/chk_rel.php?token=0400bd52b474af55594d30c1fb41fc28">點這裡</a>。
就點進去
會看到裡面出現這類文字
$cfg[‘Servers’][$i][‘pmadb’] … |
錯誤 [ 文件 ] |
$cfg[‘Servers’][$i][‘relation’] … |
錯誤 [ 文件 ] |
一般關聯功能: 已關閉 |
拉到下方參考他的使用方法就可以解決了!
快速設定進階功能:
- 透過
examples/create_tables.sql
建立必需的資料表 
- 建立一個使用者並授予其訪問上一步操作中建立的資料表的權限

- 在設定檔案 (
config.inc.php
) 中啓用進階功能,參見 config.sample.inc.php
中的範例 
- 請重新登錄 phpMyAdmin 以載入新設定並使其生效
1.把examples/create_tables.sql匯入你的mysql
2.在phpmysql資料夾底下,有個config.inc.php檔,如果是套裝軟體都會有,但若是執接下載phpmyadmin的話可能會沒有,
沒關係,請複製config.sample.inc.php一份並更改檔名為config.inc.php
3.接著修改config.inc.php,把註解掉的陣列全都取消註解
/* User used to manipulate with storage */
$cfg['Servers'][$i]['controlhost'] = '';
$cfg['Servers'][$i]['controluser'] = '';
$cfg['Servers'][$i]['controlpass'] = '';
/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
$cfg['Servers'][$i]['recent'] = 'pma_recent';
/* Contrib / Swekey authentication */
$cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';
4. 修改上面的這三行
$cfg['Servers'][$i]['controlhost'] = 'localhost'; //像我本機的就寫localhost
$cfg['Servers'][$i]['controluser'] = 'root';//像我本機的預設帳號root
$cfg['Servers'][$i]['controlpass'] = '1234';//我自己預設的是1234
5.像我填寫好了以後,重新整理phpmyadmin網頁會沒反應,因為我沒照她說的做…
請重新登出在登入phpmyadmin吧!這樣警告就取消了!而且會發現多了一些新功能囉
2013-03-27 / JSN / 0 Comments / 82 次瀏覽
+—-+——-+
| id | name |
+—-+——-+
| 1 | test1 |
| 2 | test2 |
| 3 | test3 |
| 4 | test4 |
| 5 | test5 |
+—-+——-+
//須要取得id 為指定數字時並依照排序的兩種方法
select * from test where id in(3,1,5) order by find_in_set(id,’3,1,5′);
或
select * from test where id in(3,1,5) order by substring_index(‘3,1,2’,id,1);