Search


關於工作室

Newton 牛頓
Web Developer
PHP+MYSQL, Flash, Javascript, .NET Framework, Web Application.

找尋網頁設計專家?

牛頓工作室提供客製化網頁設計服務,想知道更多,歡迎來信洽詢。 E-mail Us!

近期文章

Sponsors

Plurk

Plurk.com

行事曆

主題

彙整

Sponsors

Blogroll

Archive for 11月, 2008

getElementById

星期四, 11月 13th, 2008

使用JAVASCRIPT getElementById 時
要注意HTML裡面若不同元素的NAME與ID的名稱皆相同,
可能會造成getElementById抓錯對象.
發生瀏覽器: IE7.
還在測試中.

同一頁面使用兩個資料庫的常見問題

星期三, 11月 12th, 2008

有時候我們會在同一個頁面同時使用兩個資料庫,
若連線字串是放在CLASS的CONSTRUCTOR裡面, 通常我們都只要NEW 一次, 就可以一直保持資料庫連線,
但若兩個資料庫交替使用, 則會發生連線字串混亂的狀況.
此時應該在CLASS裡面每個FUNCTION都的MYSQL_QUERY之前都指定連線字串,
這樣就可以保持一MYSQL_QUERY對應一個資料庫的狀況了.
class sample {
function DATABASE() {
include(”db1.php”);
}
function FIRSTCONNECT() {
$this->DATABASE();
mysql_query(”…..”);
}
}
class sample2 {
function DATABASE2() {
include(”db2.php”);
}
function ANOTHERCONNECT() {
$this->DATABASE2();
mysql_query(”…..”);
}
}
$firstclass = new sample;
$secondclass = new sample2;
$secondclass->ANOTHERCONNECT(); //讀取自DB2 的資料庫
$firstclass->FIRSTCONNECT(); //讀取自DB1 的資料庫

PHP DEBUG 筆記

星期三, 11月 12th, 2008

最近在撰寫PHP程式的時候遇到了兩個花費我不少時間的問題.
第一個問題:
我們常常在設計表單的時候都會設計 新增, 刪除, 編輯的功能, 在完成這些功能之後, 我們習慣用 header(”Location: xx.php”); 回到瀏覽列表. 但有時候我們在編輯成功回到瀏覽列表後(沒有錯誤訊息), 但資料卻沒有被編輯修改成功. 最糟糕的是MYSQL_ERROR() 也帶不出到底問題出在哪裡. 這個時候就可以推斷是ID 沒有被送入MYSQL.
比如說: mysql_query(”UPDATE products SET title = ‘$title’ WHERE id = ‘$id’”) or die(mysql_error());
這個時候, 如果你的$id 變數值是 “” 也一樣會通過指令, MYSQL 不會告訴你有錯誤. 所以無論你怎麼試都還是發現指令明明就沒問題但怎樣就是沒辦法UPDATE成功.
第二個問題:
還有另一個可能性是出在一個天殺的錯誤:
<input type=”hidden” name=”id” values=”<?php echo $_GET['id']; ?>” />
當我們想要用隱藏表單傳送ID值的時候, 會用以上的HTML來傳送, 你發現問題出在哪裡嗎?
答案很明顯, 就是 “values” ! values 是沒有 “s”的, 多了一個”s” 你的表單就送不出去ID這個值了.
正解: <input type=”hidden” name=”id” value=”<?php [...]