寫mysql寫的好好的, 改個屁 mysqli!
好了, 以上發洩完畢, 為了及早準備PHP7.0的時代,
麥大叔這兩天花了點時間改了note資料庫的程式碼 (接下來還有幾個網站要改...哭哭)
主要異動是把即將缷任的mysql語句改為mysqli,
過程其實還好, 只要確定原本的輸出是什麼, mysqli 也能輸出同樣的東西即可。
比較麻煩的是取出多筆資料時要做的迴圈, 會需要一些改變。
心得
1. mysqli 語法改用物件的方式寫會比較順利
$link = @mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
$db = new mysqli(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
2. mysqli 多筆資料時的輸出情況, 以fetch_object做廻圈, 再用json去轉陣列
$result = $db->query($sql);
if($result){
while ($row = $result->fetch_object()){ // Cycle through results
$stdClass[] = $row;
}
$result->close(); // Free result set
}
$val = json_decode(json_encode($stdClass), true); //Transform stdClass to Array
$val = array_map('array_values', $val); //remove Key of the Array (may not required)
if($result){
while ($row = $result->fetch_object()){ // Cycle through results
$stdClass[] = $row;
}
$result->close(); // Free result set
}
$val = json_decode(json_encode($stdClass), true); //Transform stdClass to Array
$val = array_map('array_values', $val); //remove Key of the Array (may not required)
3. SQL語法包括UPDATE, INSERT INTO時, 宣告字碼 utf8, 避免存入亂碼
$db->set_charset("utf8");
以上, 供後人參考!