雖然現代框架多用 PDO 或 ORM,但理解原生 mysql_* 函數(註:PHP 7 已移除,建議改用 mysqli 或 PDO)有助於維護舊專案與掌握基礎概念。本文整理常用流程供參考。
$mysql_server_name = 'localhost'; $mysql_username = 'root'; $mysql_password = '123456'; $mysql_database = 'Mydb';
存為 db_config.php,其他檔案 require('db_config.php'); 引入。
$conn = mysql_connect($mysql_server_name, $mysql_username, $mysql_password)
or die("error connecting");
mysql_query("SET NAMES 'utf8'"); // 統一編碼,建議 UTF-8
mysql_select_db($mysql_database);
$sql = "SELECT * FROM news";
$result = mysql_query($sql, $conn);
while ($row = mysql_fetch_array($result)) {
echo "<div style='height:24px; line-height:24px; font-weight:bold;'>";
echo $row['Topic'] . "<br/>";
echo "</div>";
}
$conn = mysql_connect($mysql_server_name, $mysql_username, $mysql_password);
mysql_query("SET NAMES 'utf8'");
mysql_select_db($mysql_database);
$sql = "INSERT INTO messageboard (Topic, Content, Enabled, Date)
VALUES ('$Topic', '$Content', '1', '2011-01-12')";
mysql_query($sql);
mysql_close();
mysql_* 擴展,新專案請使用 mysqli 或 PDO_MySQL。mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT) 搭配 try-catch。$mysqli = new mysqli('localhost', 'root', '123456', 'Mydb');
$mysqli->set_charset('utf8');
$stmt = $mysqli->prepare("INSERT INTO messageboard (Topic, Content, Enabled, Date) VALUES (?, ?, 1, ?)");
$stmt->bind_param('sss', $Topic, $Content, $date);
$stmt->execute();