iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 10
0
自我挑戰組

挑戰30天完成PHP聊天室範例系列 第 10

[Day10]第九章-混沌初始終篇-陣列、資料庫連結

Array 陣列是一種可以一次儲存非常多變數的結構或者說是空間,
陣列名稱[鍵值]=陣列數值 -> 這是陣列給值的基本方法

#創建陣列語法
$food = array();

#以下這兩個宣告陣列的方法結果一樣,一個有設定鍵值一個沒有,但陣列鍵值預設就是從0開始
$food=array(0=>"披薩",1=>"薯條",2=>"炸雞");
$food=array("披薩","薯條","炸雞");

#陣列的鍵不一定要使用數字
$fruit=array(
"apple"=>"蘋果",
"banana"=>"香蕉",
"orange"=>"橘子");

再來要談論到PHP的資料庫連線方法,
光這個就可以談論上好幾天了,
PHP連MySQL基本有三種模式,MySQL、MySQLi和PDO(今天我們使用PDO來實作),
MySQL的連法是最原始也最不安全的(sql injection問題),
另外兩個都是後來擴充的方法,
以下是PDO預處理語句範例

<?php
$servername = "localhost" ;//你的host 
$username = "yourname" ; //資料庫帳號
$password = "password" ; //資料庫密碼
$dbname = "test_chat" ; //資料庫名稱
try { 
    $conn = new PDO ( "mysql:host=$servername;dbname=$dbname" , $username , $password);  
    //設置PDO錯誤模式為異常
    $conn->setAttribute( PDO :: ATTR_ERRMODE , PDO :: ERRMODE_EXCEPTION ); 

    // 預處理SQL 並綁定參數
    $stmt = $conn->prepare( "INSERT INTO USER_DATA (user_name, , email)
    VALUES (:user_name, :email)" );
    $stmt->bindParam ( ':user_name' , $user_name );
    $stmt->bindParam ( ':email' , $email );

    // 新增資料
    $user_name = "test1" ; 
    $email = "abc123@google.com" ; 
    $stmt -> execute ();

    // 新增第二筆資料
    $user_name = "test2" ; 
    $email = "abc456@google.com" ; 
    $stmt -> execute ();

    echo "新紀錄創建成功" ;
    }
catch ( PDOException $e )
    {
    //錯誤訊息
    echo $sql . "<br>" . $e -> getMessage ();  
    }
    
    //清空$conn
    $conn = null ; 
?>

基礎語法10篇到這裡結束,
有任何問題都可以一起討論,
或是高手們可以多多指教我~
下一篇開始就要開始進入實作階段,
大家一起加油吧!


上一篇
[Day09]第八章-混沌初始(五)-亂數、ID函數、迴圈
下一篇
[Day11]第十章-盤古開天(一)-註冊會員(上篇)
系列文
挑戰30天完成PHP聊天室範例30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言