<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '123456';
$dbname = 'data';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname, $conn);
?>
現代寫法:請改用 mysqli 或 PDO,並啟用錯誤模式。
<?php
$sql = "SELECT * FROM ec_admin";
$res = mysql_query($sql, $conn);
echo "用戶名: " . mysql_result($res, 3, "UserName") . "<br>";
echo "密碼: " . mysql_result($res, 3, "UserPass") . "<br>";
?>
<?php
$sql = "INSERT INTO ec_admin (UserName, UserPass) VALUES ('liugongxun2', 'jakemary2')";
mysql_query($sql, $conn) or die(mysql_error());
?>
<?php
$sql = "SELECT * FROM ec_admin";
$res = mysql_query($sql, $conn);
while ($row = mysql_fetch_row($res)) {
printf("用戶名%s %s密碼<br />", $row[1], $row[2]);
}
?>
<?php
$sql = "SELECT * FROM ec_admin";
$res = mysql_query($sql, $conn);
if ($row = mysql_fetch_array($res)) {
do {
printf("用戶名%s %s密碼<br />", $row["UserName"], $row["UserPass"]);
} while ($row = mysql_fetch_array($res));
}
?>
<?php
if (isset($_POST['submit'])) {
// 處理表單
}
?>
舊寫法 if ($submit) 依賴 register_globals,已棄用且不安全。
| 舊寫法 | 現代替代 |
|---|---|
mysql_* | mysqli_* / PDO |
mysql_result() | $stmt->bind_result() / fetchColumn() |
$GLOBALS["conn"] | 依賴注入 / 服務容器管理連線 |
| 直接插值 SQL | 預備語句 prepare() / execute() |
register_globals 變數 | $_POST, $_GET, $_REQUEST |
這組範例涵蓋 PHP 入門最核心的資料庫 CRUD 與流程控制。學習時請同步掌握現代寫法,養成安全、可維護的程式習慣。