【PHP程式設計+MySQL資料庫+PHPMaker整合教學+技術諮詢】 本月特價優惠中! 動態的架站程式時代,要自訂PHP程式頁面有那麼難嗎? MySQL『資料庫』與『資料表』,用PHP程式有那麼難控制嗎? 你不用死背『PHP程式』與『MySQL資料庫』語法也能獨自設計完成! 這是自動化軟體程式的年代 (用PHPMaker 設計在彈指之間就能自動生成整個 PHP 程式系統) 這不是:神話!程式軟體模組取代了這一切複雜的工程。 你可以自己建構自己專屬的: 訂購表單、會員名單、擴增購物車特殊頁面 →POS 系統、CRM 系統、ERP 系統、HRM 系統...等等 (更可以加入數據資源銷售賺錢!) 該是:【見證奇蹟】的時候了! 非親眼所見....真的無法相信此神兵利器!

網站訂購單系統PHP 5.6升級到PHP7 MySQL資料庫無法讀取!
PHP 5.6之前的資料庫連線檔案 Connections.php 是這樣:

<?php
# FileName=”Connection_php_mysql.htm”
# Type=”MYSQL”
# HTTP=”true”
$hostname_linkmysql = “localhost”;
$database_linkmysql = “ordersdata”;
$username_linkmysql = “root”;
$password_linkmysql = “AG09102556817Gb”;
$linkmysql = mysql_pconnect($hostname_linkmysql, $username_linkmysql, $password_linkmysql) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_query(“SET NAMES UTF8”);
?>

升級到 PHP7 之後,開啟訂購單頁面是:一片空白!
那原因是什麼呢?
相信很多人要升級 PHP7 的第一步就可能遇到:訂購單頁無法開啟….

當然這樣網站開啟訂購單頁面試:一片空白!
那網購生意也沒辦法作了,只好乖乖換回原來的 PHP 5.6版本

死了這條心嗎?為何會如此?
你問當初跟你設計的程式設計師就會知道……
(原來是:PHP 5.6升級PHP7後,之前MySQL的原來語法不能用了!)

原因是:PHP>=5.5 時所有以 mysql_開頭的函數都會作廢 deprecated,改用以 mysqli_開頭的函數取代
所以,你目前使用的網站訂購系統如果從PHP 5.6升級PHP7後,正個系統因為如法連結MySQL資料庫(所以是:一片空白!)

PHP 7 的MySQL資料庫連線應該是這樣的:

1.先要建立資料庫連線:
$DBNAME = “db”;
$DBUSER = “user”;
$DBPASSWD = “password”;
$DBHOST = “localhost”;

$conn = mysqli_connect( $DBHOST, $DBUSER, $DBPASSWD);
if (empty($conn)){
print mysqli_error($conn);
die (“無法連結資料庫”);
exit;
}

備註:第7行 如果$conn=false代表連結不成功
PHP>=5.5 時所有以 mysql_開頭的函數都會作廢 deprecated,改用以 mysqli_開頭的函數取代!
2. 選取資料庫
選擇資料庫使用函數 mysqli_select_db();

if( !mysqli_select_db($conn, $DBNAME)) {
die (“無法選擇資料庫”);
}
// 設定連線編碼
mysqli_query( $conn, “SET NAMES ‘utf8′”);
3.這樣就可以取得資料:
$sql =”select * from `table` where id=1234″;
$result = mysqli_query($conn, $sql);

備註:第2行 mysql_query 的回傳值$result有兩種狀況:

SELECT, SHOW, DESCRIBE, EXPLAIN 等如果成功則取回 resultset ,否則為 false
INSERT, UPDATE, DELETE, DROP 等成功則傳回 true,否則為 false

4.接著是取出資料:
取回行數
$num = mysqli_num_rows($conn, $result);
取回資料

使用mysqli_fetch_array取回資料, 有下列三種常數狀態:

while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) {
print_r( $row);
}
/*
Array
(
[0] => A123456789
[1] => 1234
[2] => 陳麗如
)
*/
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
print_r( $row);
}
/*
Array
(
[id] => A123456789
[pass] => 1234
[name] => 陳麗如
)
*/
while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
print_r( $row);
}
/*
Array
(
[0] => A123456789
[id] => A123456789
[1] => 1234
[pass] => 1234
[2] => 陳麗如
[name] => 陳麗如
)
*/

常數 MYSQLI_NUM:0 MYSQLI_ASSOC:1 MYSQLI_BOTH:2

取回物件形態資料

while($obj = mysqli_fetch_object($result)){
print ($obj->id);
}
取回最後一筆異動的索引

$last_id=mysqli_insert_id($conn);

要注意的情況:
– 一定要有一個欄位有 auto_increment 屬性,否則回傳0
– 一定之前要有insert或update操作,否則回傳0

5.最後是關閉連線:

雖然PHP, mysql 會自動關閉逾時的連線和記憶體,但也能手動操作

釋放記憶體

mysqli_free_result ( $result )

關閉連線

mysqli_close($conn);

洪總教頭最後結論:
PHP 5.6 升級到 PHP7 是遲早得事情,以執行效率與安全性等諸多理由
(你的網站也不能遲遲在 PHP 5.6等待被淘汰!)

動態網站與購物網站系統使用 PHP + MySQL 大家已經用那麼久了,早就習慣了!

如果你的網站是使用架站程式,那就要注意:PHP 版本是支援那一個版本?
購物車(購物網站架站程式)也一樣,也是要注意:PHP 版本是支援那一個版本?
如果你的程式是花錢請PHP程式設計師或設計公司設計的,那也要回去找他們,看看是否可以升級?

如果你自己會PHP+MySQL的程式設計,那當然就能省去非常多的麻煩!
總教頭的PHP程式設計+MySQL資料庫+Dreamweaver整合教學
(PHPMaker運用設計網站教學):

http://por.tw/php/new-E_learning/index.php

或許是你最好的選擇!自己會,就不需要樣樣事情都要花大錢請人家幫你設計
日後維護也比較能自己掌握!那網路事業的經營也比較順心!