目前日期文章:201004 (12)

瀏覽方式: 標題列表 簡短摘要


--MySQL 中的變數設定方式

SET @name = '測試字串';


--MySQL 中的變數設定方式

select @name := '測試字串';


   --取得本次連線中所新增的 最後一筆資料ID

   --測試過以兩個console進行MySQL連線操作,A console執行insert 後,接著由 B console執行insert,A的LAST_INSERT_ID()仍是正確的,也就是會正 確取得此連線的最後新增ID不受concurrent user的其它操作影響(即使是中間有insert資料)

miggo 發表在 痞客邦 PIXNET 留言(0) 人氣()

JIS code


miggo 發表在 痞客邦 PIXNET 留言(0) 人氣()


    Temporary Table語法 

CREATE TEMPORARY TABLE tmp_name

(

        id int(10) NOT NULL ,

        name VARCHAR(10) NOT NULL

)ENGINE = MyISAM;

建立Temppry Table:

        也可使用ENGINE = MEMBORY來做儲存.


miggo 發表在 痞客邦 PIXNET 留言(0) 人氣()

    Index:

        資料索引,可加快搜尋速度,Mysql引擎除了Archive外都支援B-tree索引

        可多欄位設定為Index

        語法為 CREATE INDEX <索引的名字> ON tablename (列的列表)


    Unique:

        index相同,差異在於不能允許重複值

        語法為CREATE UNIQUE INDEX <索引的名字> ON tablename (列的列表)


    PRIMARY Key(PK):

miggo 發表在 痞客邦 PIXNET 留言(3) 人氣()

Mysql的 Engine Type有幾種常用到的,以下是

MySQL 5.0 Reference Manual中之資料,邊看邊快速的紀錄一下各項的差異和使用時機

設定引擎建,議用 ENGINE = MyISAM 方式指定,Type = 為較舊的方法(也支援)



    MyISAM : 

1.效能優,預設引擎,為 Mysql最早使用的引擎

2.使用MyISAM將具備三種 檔案:

        .frm (table format)  .MYD(data file)  .MYI(index file)

3.所有資料是以low byte first儲存,數字型key是以high byte first儲存以利索引

4.支援大檔 ( > 63 bit)

miggo 發表在 痞客邦 PIXNET 留言(2) 人氣()

考題不會太難,而且完全沒考到物件觀念,感覺比較像PHP4的考試啦!

已下是憑回憶列出的題目:

1.請說明GET和POST的不同

2.請說明MVC架構,和妳知道的幾種MVC framework

3.列出以下結果畫面並說明

    $str= "03/26/2010";
    echo ereg_replace("{[0-9]*}/{[0-9]*}/{[0-9]*}", "\\2/\\1/\\3", $str);


4.
說明sort() asort() ksort()的不同

5.HTTP Redirect的指令要如何寫,例如將http://xxx/a.php 轉到http://xxx/b.php

6.HTTP rewrite和HTTP Redirect的差異,如果要將網址rewrite http://xxx.xx.xx/index.php轉到http://xxx.xx.xx/index.php?lang=jp要如何設定?

7.要把以下的 apache log彙整各網址的總數,請用linux語法列出統計

miggo 發表在 痞客邦 PIXNET 留言(2) 人氣()

PHP函數太好用了,例如陣列的排序,通常都用sort()或asort()就處理掉了

導致很多基礎都忘掉了,把基礎的東西[排序]撿起來練習一下

以下是氣泡排序法的實作,重點在 list + each 的交換技巧

<?

function bubble_sort(&$array){

    $num = count($array);

    //只是做迴圈
    for($i = 0 ; $i < $num ; $i++){

        //從最後一個數字往上比較,如果比較小就交換
        for($j = $num-1 ; $j > $k ; $j--){

            if($array[$j] < $array[$j-1]){

                //交換兩個數值的小技巧,用list+each

miggo 發表在 痞客邦 PIXNET 留言(0) 人氣()

有沒有想過,如果程式採用以下的資料庫連線方式

include("db.php");

$db = new DB();

$db->query(.....);

 

如果開啟五個頁面,資料庫會重新new五個資料庫連線去做連接動作,連線數應該會爆漲吧!

有沒有改進的方式?

可採用singleton模式來改寫成如下:

class DB
{
    private static $_conn = null;
        static function getInstance(){

miggo 發表在 痞客邦 PIXNET 留言(0) 人氣()

如果已取得字串,例如:

 

$content =  fread($fp , "a+");

第一個字元就是 $content{0}

以此類推

 

轉成16進位顯示,可以用

hexdec($content{0}) ;

 

如果要再將每個字元合併,可用

chr(hexdec($content{0})) . chr(hexdec($content{1}));

 

miggo 發表在 痞客邦 PIXNET 留言(0) 人氣()


(1).self
是參照到目前的class,$this是參照到目前的object ( 已經被宣告的實體上 )

(2).self 可使用在static上,$this不行

static method 因為沒有物件的實體,所以需要注意不可以使用 $this ,要用self::
可以直接存取 static method ( 如self::method() ),但是無法直接存取 static property 中的預先宣告的值

(3). 可用 new self() 呼叫自己

 

以下是(1)的範例:

<?
class name

miggo 發表在 痞客邦 PIXNET 留言(5) 人氣()

php環境設定

 

//程式串寫時建議將error_report全部開啟,已嚴謹方式進行撰寫

error_report(E_ALL);

 

//正式上線的production請務必設定此項,避免錯誤回報

ini_set("display_errors","0");

 

//啟用錯誤log紀錄

ini_set("log_errors","1");

 

//POST/GET/SESSION/COOKIE變數分開,PHP 5以後預設為關閉的

miggo 發表在 痞客邦 PIXNET 留言(0) 人氣()

 

以往在多國語系的寫法支 援上

通常是寫在程式內,例如 以下此種寫法和設定

$lang = “zh_TW”;

$lang_file = “$lang” . “.php”

Include_once(“./lang/$lang_file”);

 

另外一種方法,則是採用 系統語系檔的支援方式

此種方式比較上一種的方 法,優點是可自動擷取程式內需處理的字串,如程式內使用gettext函數,用系統指令xgettext就可自動產生PO檔^^

 

可以嘗試以下的簡單範 例:

<?php

miggo 發表在 痞客邦 PIXNET 留言(0) 人氣()

找更多相關文章與討論