首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 執行 SQL 語句:查詢、新增、讀取單一欄位

     編輯:PHP 綜合知識

展示三種常見 SQL 執行情境:SELECT 查詢、INSERT 新增、mysql_result 讀取單一欄位。同樣基於已棄用的 mysql_*,現代開發請改用 PDO/mysqli 預處理語句。

1. 執行 SELECT 查詢

<?php
@mysql_connect("localhost", "root", "1981427") or die("連線失敗");
@mysql_select_db("test") or die("選庫失敗");
$query = @mysql_query("SELECT * FROM tablename1") or die("SQL 執行失敗");
// 後續可用 mysql_fetch_array($query) 逐行處理
?>

2. 執行 INSERT 新增

<?php
@mysql_connect("localhost", "root", "1981427") or die("連線失敗");
@mysql_select_db("test") or die("選庫失敗");
$query = @mysql_query("INSERT INTO tablename1 VALUES('4', 'Judy', '456')") or die("SQL 執行失敗");
if ($query) echo "新增成功"; else echo "新增失敗";
?>

風險:數值直接拼接字串,易遭 SQL 注入;字串值未轉義。

3. 讀取單一欄位值

<?php
@mysql_connect("localhost", "root", "1981427") or die("連線失敗");
@mysql_select_db("test") or die("選庫失敗");
$query = @mysql_query("SELECT * FROM tablename1") or die("SQL 執行失敗");
echo mysql_result($query, 0, 'username'); // 第 0 列、username 欄位
?>

mysql_result 可直接指定列與欄位取值,但效率較低,大量資料建議 mysql_fetch_assoc。

PDO 重構範例

<?php
$pdo = new PDO("mysql:host=localhost;dbname=test;charset=utf8mb4", "root", "1981427",
    [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);

// SELECT
$stmt = $pdo->query("SELECT * FROM tablename1");
$rows = $stmt->fetchAll();
foreach ($rows as $row) { /* 處理 */ }

// INSERT (預處理)
$stmt = $pdo->prepare("INSERT INTO tablename1 (id, username, password) VALUES (?, ?, ?)");
$stmt->execute([4, 'Judy', '456']);
echo "新增成功,影響列數: " . $stmt->rowCount();

// 讀取單一值
$stmt = $pdo->query("SELECT username FROM tablename1 LIMIT 1");
$username = $stmt->fetchColumn();
echo $username;
?>

預處理語句(prepare + execute)自動處理轉義與型別,徹底防止 SQL 注入,且可重複執行提升效能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved