Ho'oponopono Cleaning Tool

熱門文章

顯示具有 MySQL 標籤的文章。 顯示所有文章
顯示具有 MySQL 標籤的文章。 顯示所有文章

2011年4月7日 星期四

CONCAT in MySQL; explode(delimiter,rawString); some string manipulation functions in php

CONCAT in MySQL; explode(delimiter,rawString); some string manipulation functions in php


  • concat: sql statement=>select concat(a.`id` , '-', b.`username`) as ID from xxtable 取出的結果為=>如: 366-Kay, CONCAT 這個function可以讓我將兩個欄位的結果合併組合起來變成一個.
  • explode: 在程式裡, 我只要將得到的查詢結果欄位, 以 explode將delimiter的兩邊字串分別取出即可, 如: $tmpStr=explode('-',$row[0]); // $tmpStr[0] 及 $tmpStr[1], 此處 $tmpStr[0]=366, 而$tmpStr[1]=Kay
  • php 內亦可以使用 A==B?C:A 判斷式, 如: ($tmpStr[1]=="guest"?"管理者":$tmpStr[1])
  • date 及 intval function: (date('Y-m-d H:i:s',intval($row[4]))), 得出結果如: 2011-04-06 12:12:10
  • substr function: 如:  $tmpStr=substr($row[2],0,40); 取出這串字的前40個字元

2011年3月14日 星期一

為什麼 "Illegal mix of collations for operation 'UNION'"?

今天遇到一個問題, 在union資料庫查詢時,
產生一個錯誤訊息:
Illegal mix of collations for operation 'UNION'

這是甚麼啊?

兩個 Sql statement 分別查詢都OK啊?!  為什麼 Union起來
就有問題呢?

上網查詢一下, 在這裡找到答案, 感謝這位仁兄的解釋,
原來我兩個 table 的校對設定不同,
一個是 utf8_general_ci, 而另一個是 utf8_unicode_ci.
兩個union在一起做查詢, 就會產生 Illegal mix of collations for
operation 'UNION'的訊息了.

這樣解法就簡單囉...就把兩個設定為一樣就好了!
同時, 在程式內連線完成資料庫連線後, 加上
  mysql_query('SET NAMES big5'); 
  mysql_query('SET CHARACTER SET big5');
  mysql_query('SET collation_connection = utf8_unicode_ci');

就解決了.

感謝這完美的發現!
Ho'oponopono Cleaning Tool Locations of visitors to this page