iT邦幫忙

0

[Unity] PHP - Unity導入雲端排行榜步驟紀錄 05

  • 分享至 

  • xImage
  •  

2023/06/21

PHP

PHP是一種流行的伺服器端腳本語言,常用於開發動態網頁和網絡應用程序。
在本文中,將簡單介紹PHP的基礎用法。

1. PHP簡介 + Visual Studio Code的PHP插件:

  • PHP

    • 是一種免費開源的腳本語言,可在伺服器上執行。
    • 它支援多種資料庫,並與HTML緊密結合,用於生成動態網頁內容。
  • Visual Studio Code

    • 是一個輕量級且功能強大的程式碼編輯器,提供了許多用於開發PHP的插件。

    • 此處使用PHP插件爲 "PHP Intelephense"。
      https://ithelp.ithome.com.tw/upload/images/20230621/20156436WxIKjlH25x.png

    • 裝好插件後,打開MAMP -> Preference
      https://ithelp.ithome.com.tw/upload/images/20230621/20156436rF4v8plGa9.png

    • -> Server(選項卡) -> Open
      https://ithelp.ithome.com.tw/upload/images/20230621/20156436MRPxU33uWE.png

    • -> 打開位置後,新增一個資料夾,命名爲"leaderboard"
      右鍵選擇"leaderboard"資料夾 -> ctrl+shift+C 複製路徑,
      打開Visual Studio Code,ctrl+K ctrl+O 打開資料夾,新增一個test.php檔案
      https://ithelp.ithome.com.tw/upload/images/20230621/201564366igb3vY0Sh.png

2. PHP的Echo語句和變量:

  • 在PHP中,使用echo語句可以將內容輸出到網頁上。例如:

<?php
    $message = "Hello, World!";
    echo $message;
?>

上述代碼將輸出「Hello, World!」到網頁上。
在這個例子中,我們定義了一個變量$message
並將其值設置為「Hello, World!」,
然後使用echo語句將該變量的值輸出到網頁上。

打開Chrome 輸入 http://localhost/leaderboard/test.php (確認MAMP 的Server已經打開)
結果:
https://ithelp.ithome.com.tw/upload/images/20230621/20156436a5Ccwfpjll.png

3. PHP的If語句:

  • PHP的if語句用於根據條件執行不同的程式碼塊。例如:

<?php
    $num = 10;

    if ($num > 0) {
        echo "The number is positive.";
    } elseif ($num < 0) {
        echo "The number is negative.";
    } else {
        echo "The number is zero.";
    }
?>

上述代碼檢查變量$num的值,並根據其值輸出相應的訊息。
如果$num大於0,則輸出「The number is positive.」;
如果$num小於0,則輸出「The number is negative.」;
如果$num等於0,則輸出「The number is zero.」。

4.使用PHP從資料庫獲取資訊:

  • PHP與多種資料庫系統(如MySQL、PostgreSQL等)兼容,可以用於從資料庫獲取資訊。

以下是使用PHP從MySQL資料庫獲取資訊的簡單示例:

<?php
    // 建立與資料庫的連接
    $conn = mysqli_connect("localhost", "username", "password", "database_name");

    // 執行查詢
    $result = mysqli_query($conn, "SELECT * FROM table_name");

    // 處理查詢結果
    while ($row = mysqli_fetch_assoc($result)) {
        echo $row["column_name"];
    }

    // 關閉連接
    mysqli_close($conn);
?>

上述代碼首先使用mysqli_connect函式建立與MySQL資料庫的連接,
然後使用mysqli_query函式執行查詢,
並使用mysqli_fetch_assoc函式遍歷結果集,
最後使用mysqli_close函式關閉連接。
在這個示例中,
假設資料庫中有一個名為table_name的資料表,
該代碼將輸出該資料表的column_name列的值。

實作:
接下來獲取爲04中建立的玩家的資料庫和資料表
新增一個printallplayers.php檔案
使用以下代碼:

<?php
// 建立與資料庫的連接
$host = 'localhost';
$username = 'root';
$password = 'root';
$database = 'player_data';

$conn = mysqli_connect($host, $username, $password, $database);

// 檢查連接是否成功
if (!$conn) {
    
   
die("連接失敗: " . mysqli_connect_error());
}

// 執行查詢
$queryallplayers = "SELECT * FROM `player`";
$result = mysqli_query($conn, $queryallplayers);

// 檢查是否有回傳資料列
if (mysqli_num_rows($result) > 0) {
    // 建立表格標題列
    echo "<table>";
    echo "<tr>";
    
    // 動態取得欄位名稱
    $columns = mysqli_fetch_fields($result);
    foreach ($columns as $column) {
        echo "<th>" . htmlspecialchars($column->name) . "</th>";
    }
    
    echo "</tr>";

    // 迴圈處理每一筆資料列並印出資料
    while ($row = mysqli_fetch_assoc($result)) {
        echo "<tr>";
        
        // 迴圈處理每個欄位並印出資料
        foreach ($row as $value) {
            echo "<td>" . htmlspecialchars($value) . "</td>";
        }
        
        echo "</tr>";
    }

    // 關閉表格
    echo "</table>";
} else {
    echo "沒有找到玩家資料。";
}

// 關閉連接
mysqli_close($conn);
?>

打開Chrome 輸入 http://localhost/leaderboard/printallplayers.php (確認MAMP 的Server已經打開)

正常結果:

  • 有Insert玩家資料
    https://ithelp.ithome.com.tw/upload/images/20230621/20156436ex5MrLyogZ.png
  • 如果沒有Insert玩家資料
    https://ithelp.ithome.com.tw/upload/images/20230621/20156436nkjRVIxyi3.png

不正常結果:

如果出現 error500
可能是因爲 PHP 代碼中存在語法錯誤或邏輯錯誤,導致的內部服務器錯誤。
這些錯誤的發生可能是由於拼寫錯誤、缺少分號、未閉合的括號或不正確的函數調用。


下一節 06
[Unity] Unity中導入玩家資料表 - Unity導入雲端排行榜步驟紀錄 06

  1. Unity UI 設置
  2. 基礎 Unity 網路 Get Requests
  3. 基礎 Unity 網路 Post Requests

07 Unity CRUD 用戶管理系統


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言