[MySQL] 增加phpmyadmin的登入過期時間

有時候需要因為測試用途,需要把phpmyadmin的Token過期時間加長
省得要一直反覆登入的麻煩

在phpmyadmin資料夾底下的config.inc.php

增加或修改這行

$cfg[‘LoginCookieValidity’] = 3600 * 9; // 9 小時

 

在Mac底下的XAMPP可以用這指令修改

sudo vi /Applications/XAMPP/xamppfiles/phpmyadmin/config.inc.php

 

參考資料:

http://stackoverflow.com/questions/4361416/phpmyadmin-configuration

[MySQL] 數字10以下的中文數字排序(或是列表排序)

這是網路上參考別人寫的方式,靈機一動想到的

因為想到這個方法覺得很BG且好笑
就當個茶餘飯後的笑話分享給大家

在這之前還是先呼籲一下,

在建立DB的時候,數字就應該用數字的格式儲存

 

不要像我犯同樣的錯誤
拿小寫的中文數字(一二三四五六七八九) 
或是大寫的中文數字(壹貳參肆伍陸柒捌玖拾)

去儲存數字,然後自找苦吃

因為它的ASCII的code大小也沒照順序(所以資料庫的文字排序失效) 

————————————————————

網路上對於MSSQL有個解法
就是使用列表比對的方式

也有人使用自訂函數去parse中文數字然後轉換成對應的數字

也可以利用一個對應的轉換表,用inner join的方式去做

————————————————————

在MySQL裡,我找到一個還不錯的做法:

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_locate

Locate函數:

Locate(欄位名稱, 搜尋比對的字串)

找尋字串中,第一個出現的位置,並回傳其位置

而這位置就是我們要的順序結果(反正多大也不重要,至少相對順序是對的)

如果我有一張表table01

todo  week 
寫作業  一 
買東西  三 
聚餐  二 
看電影  四 

想照星期排序(這就中文數字了吧….Orz)

就這樣下

select *, LOCATE( week,  ‘一二三四五六日’ ) from table01 order by LOCATE( week,  ‘一二三四五六日’ );

聰明的你,就會在phpmyadmin看到這個結果,然後就會跟我一樣大笑XDD

todo  week  LOCATE( week,  ‘一二三四五六日’ )
寫作業  一  1
聚餐  2
買東西  三  3
看電影  四  4

 

理論上,只要是不重複的字串應該都可以適用

拜託鞭小力點…

[MySQL] 如何在phpMyAdmin裡開啟Designer功能

小提示:這是比較進階的文章,不知道等一下的步驟在幹嘛的,就跳過整篇文章吧 

———————————-

想必有用PHP & MySQL寫過網頁吧,想必phpMyAdmin應該是你的好朋友 (笑)

phpMyAdmin裡,其中有個還不錯用的功能就是Designer
可以畫資料庫的關聯圖,對於資料表關聯的了解有很大的幫助

但這功能在之後的版本,預設被關掉了

在這裡可以教你怎麼把它打開

———————————-

而PHP & MySQL自己重頭裝到好的很多
市面上整合平台更多

Appserv、XAMPP、WAMP、MAMP…… 

對於裝在不同的系統(Win、Mac、Linux),路徑也會不致相同

但是有個好消息

phpMyAdmin對於平台的相依性很小
只要PHP和MySQL的環境有架起來
phpMyAdmin它,都能跑

如果你夠大膽,可以去官網下載最新版phpMyAdmin

http://www.phpmyadmin.net/home_page/index.php

 

然後換上去 (撰文的時候使用phpMyAdmin 3.5.1版)

———————————-

以我在使用的XAMPP為例

Windows 版的路徑:
C:\xampp\phpMyAdmin

Mac 版的路徑:
/Applications/XAMPP/xamppfiles/phpmyadmin

Linux 版的路徑:
/opt/lampp/phpmyadmin

 

Apache先關掉,
然後將舊版的phpMyAdmin備份起來(目錄更名),將新版3.5.1的phpMyAdmin複製上去(不要用取代的) 

———————————-

打開目錄底下的config.sample.inc.php,複製一份
檔名叫config.inc.php

使用文字編輯器打開

找到以下這一段:

/*
* phpMyAdmin configuration storage settings.
*/

/* User used to manipulate with storage */
// $cfg[‘Servers’][$i][‘controlhost’] = ”;
$cfg[‘Servers’][$i][‘controluser’] = ‘pma’;
$cfg[‘Servers’][$i][‘controlpass’] = ‘pmapass’;

/* 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’;
$cfg[‘Servers’][$i][‘table_uiprefs’] = ‘pma_table_uiprefs’;

拿掉註解(不同版本,其中的值可能有多有少,會有些許不同,
找到你的那一段,不要直接複製,除非你很確定版本和我的相同),然後存檔

然後再打開Apache

———————————-

phpMyAdmin用MySQL的root帳號登入之後
點選匯入

檔案選擇 examples/create_tables.sql 的檔案,執行之後
會出現名字叫phpmyadmin的資料庫

然後按左上角的Exit鈕重新登入

就會選取資料庫時,就會看見Designer了

 

 

 

參考資料:

Enable Designer in PHPMyAdmin

http://www.novell.com/communities/node/8932/enable-designer-phpmyadmin

[MySQL] 解決中文亂碼,預設編碼改為UTF-8設定

這個設定幾乎是設定MySQL必備的設定

這問題特別在xampp的環境(Windows版和Linux版)下,或者Fedora Linux使用yum安裝的mysqld會出現的問題

 

新增表格如果不指定編碼,預設會用latin1

在C:\xampp\mysql\bin\my.ini     (Windows版的路徑)

找到 [client] 區塊

加入

default-character-set=utf8

找到 [mysqld] 區塊

加入

character-set-server=utf8
collation-server=utf8_general_ci

———————————————————————–

如果是Linux的Xampp for linux,用命令列打入
vi /opt/lampp/etc/my.cnf

如果是yum裝的mysqld,用命令列打入

vi /etc/my.cnf

照Windows的敘述做修改