2008年5月20日 星期二

PHP、MYSQL 基本常識

[PPT]
第13章PHP 5與MySQL建立網頁資料庫
檔案類型: Microsoft Powerpoint - HTML 版在PHP程式是呼叫mysqli_query()函數來執行資料表查詢。 ... 在PHP程式呼叫mysqli_query()函數,執行參數的SQL指令來查詢資料表,如下所示: ...www1.pu.edu.tw/~jsyeh/2007Fall/DDWP/ppt/PHP-13.ppt - 類似網頁 - 加入筆記本 ==
這篇寫得很棒喔,我貼一點基本好用的常識
==

通常PHP技術建立網頁資料庫都是搭配MySQL資料庫系統,從90年代中期開始,ext/mysql擴充程式一直擔任PHP與MySQL資料庫間的橋樑,提供相關函數讓我們在PHP程式存取MySQL資料庫。

但是,PHP 5和MySQL 4.1版之後,ext/mysql擴充程式的相容性問題一一浮現,因為ext/mysql沒有辨法支援MySQL 4.1之後版本的新功能,所以Georg Richter建立一套全新支援PHP 5的MySQL擴充程式,稱為ext/mysqli,可以支援MySQL 4.1之後版本的新功能

易維護與高相容性:在ext/mysql需要使用複雜方式來使用MySQL的新功能,而ext/mysqli可以很容易作到,ext/mysqli擁有與MySQL Client Library更佳的相容性,換句話說,未來MySQL的新版功能,ext/mysqli也可以輕易支援。

更快速和更佳的安全性:ext/mysqli不只執行速度最高可比舊版ext/mysql快40倍,而且ext/mysqli支援新版MySQL的密碼雜湊(Password Hashes)和驗證程序,提供比舊版更佳的安全性。

===


當開啟資料庫連結後,如果不再需要存取MySQL資料庫,PHP程式可以呼叫mysqli_close()函數釋放資料庫連結資源佔用的記憶體,以便有效運用伺服器的記憶體資源,如下所示:
mysqli_close($link);
上述函數的參數是mysqli_connect()函數傳回的物件變數,成功關閉傳回true,否則為false。

===

資料表查詢結果的結果物件會佔用伺服器的記憶體空間,當不再需要查詢結果時,在PHP程式請記得自行釋放佔用的記憶體空間,以免浪費伺服器的寶貴資源。

在PHP程式是呼叫mysqli_free_result()函數釋放結果物件佔用的記憶體空間,如下所示:
mysqli_free_result($result);

2008年5月16日 星期五

宅宅的怒吼!

最近做了一個外籍新娘的網站 Case 有感而發

台灣目前仍是男生數量 >> 女生數量
因此女生要來得比男生寶貴地多

其實男生女生都一樣,最常聽到的是女生希望男生要有三高,其實我也忘了是哪三高,好像是身高、學歷、錢錢吧?

這也不能說女生市儈,男生也一樣,也希望自己女朋友是個長得正、身材好、溫柔又體貼 ...

現在的感情價值就像速食麵,很早就已經開始談戀愛,就連性也是一樣,大家合著來不合就分,很快就換下一個了 ...

可是對於一些一直都找不到伴的人 ... 常常看這些人換過一個又一個,覺得自己條件不差,「人又好」,每每都有男生或女生抱怨自己交到壞人,怎麼我那麼「好」都沒人要呀 ...

在偶然一次看到討論外籍新娘,我發現其實並不是條件差的才要找國外,事實上他們的條件都不錯呀 ...

http://www.angus.com.tw/main.asp
烏克蘭(看看就好,我並非要替這間公司打廣告 ... 這間公司好不好我不知道)

如果我有個兒子或女兒,一直交不到對象,我會跟他(她)說,好好充實自己 ... 爸爸會買一個好對象給你(妳) ... 科科~

外籍配偶就一定差嗎?也不一定吧 ... 我是抱著很樂觀的態度,有些人的眼睛真的是長在頭上,那就讓那些頂端的人去玩吧~

2008年5月15日 星期四

elf - 龍騎士四 復刻版 ( windows )



在介紹這款經典遊戲重製成 Windows 版之前,先介紹此公司首頁一進去的主打遊戲「媚肉之香」,是一款很暗黑的遊戲呀 ...


很佩服能寫出這種劇情,不過在日式H-game幾乎都是大量文字的主流下,也造就了許多寫H劇本的鬼才吧,隨隨便便就讓男主角神力見人就亂上的故事應該比較少見了。(雖然大部份玩家還是下載完遊戲先裝破解檔看圖就砍了 ...)

這款遊戲的圖與動畫做得真是精細呀,仔細了解內容應該也會有多少的罪惡感吧 ...(汗)

接下來就是主題龍騎士四了,老遊戲 Dos 版就不再提了,能玩到復刻版真的只有感動呀~再加上開頭的音樂 ... 回到了小時候的時光(淚)
如果說 Dos 版難度是 10 的話(其實也不難啦,只是為了比較),這款遊戲大概就只剩 1 了 XD ...(我還沒玩到挑戰模式,以一般模式的格子戰鬥來比較)
雖然一樣是只要死一人就不能再出場,可是每個人都多了很多技能,以往只能靠恢復之泉補血,現在許多角色都有補血技了,尤其是女主角的補血,大範圍+全補 ... 根本是想死都難,還有一些輔助法術,又沒有 MP 限制,每回合都給它放賺經驗值 ...
Dos 版加減還要考慮一下走法,現在敵人 AI 降低,威力也降低,走得快的衝到前面被砍個三四下也不會死,如果種子全給一人吃,那他衝上前可以殺光全部 ...
復刻版雖然只能讓 12 人上場,不過說實在的 ... 主要角色 4 個我想就夠了 XD,選角條件就是
1. 移動力快
2. 遠距離技能
3. 輔助技能
1. 不用說了,並非戰略考量,而是走太慢敵人來不及打就死了,此關結束 ... 2. 也是,我方太強殺太快 ... 3. 的話,要是搶不到敵人,就自己放輔助技賺經驗自己爽吧 ...
H 圖重製之後,雖然圖一樣,不過解析度大增,還有 3D 的移動,外加 2D 的角色人身,實在是太感動了~日本美術的功力真是太威了 ...

2008年5月14日 星期三

MYSQL、Phpmyadmin 與網頁編碼不同步

這個問題困擾我半年了(打從開始用 Bluehost 就一直存在了)
為什麼我網頁輸進去的中文到Phpmyadmin變亂碼;然後直接從Phpmyadmin新增資料是看得到中文,但是從網頁撈出來卻也變成亂碼 ...
上網也查了,是要設定
SET NAMES ... 這條 ...
可是怎麼試就不成功

結果在今天,想說再花點時間試試,找到了一個SQL語法
SHOW VARIABLES LIKE "character_set_%";
讓我確定我的資料庫編碼是 utf8

所以之前寫 SET NAME utf-8 是錯的

再來貼一次語法到 PHP 頁面 ... mysql_query("SET NAMES utf8");
(這行加在連線與選擇 DB 之間)

暗!真的成功了,輸進去的中文,終於在 Phpmyadmin 也看得到了,這樣就可以方便備份與輸出了~耶!

2008年5月12日 星期一

好糗的問題 ... SQL injection

http://tw.knowledge.yahoo.com/question/question?qid=1507020512715
幫人寫個簡單的留言板,後來一直加加加加到會員登入

寫太快卻忘了登入最基本的檢查

$_POST[password]=htmlspecialchars($_POST[password],ENT_QUOTES);

$_POST[username]=htmlspecialchars($_POST[username],ENT_QUOTES);

不知道這樣對不對 ~_~ 唉唉