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 [...]

