PHP MySQL ???
PHP MySQL ??? ?
??? ?? MySQL ??? ???? ? ?? ?????.
??? ?? ???? ????
??? ?? ??? ?? ?? SQL ?? ?? ???? ??? ? ?????.
Prepared ?? ?? ??? ??? ????.
1. ???: SQL ? ???? ???? ??????? ????. ??? ?? "?"?? ????? ?????. ?:
2. INSERT
INTO MyGuests(??, ?, ???) VALUES(?, ?, ?)
3. ???? ?? ???? ???? ??? ???? ?? ?????.
4. ??: ????? ?????? ???? ?? ????("?" ??)? ???? ??????? ?? ???? ?????. ???? ?? ?? ?? ??????? ?? ???? ?? ? ??? ? ????.
SQL ?? ?? ???? ?? ?? ??? ?? ? ?? ?? ??? ????.
· ???? ?? ?? ??? ?? ???? ? ?? ??? ?????(?? ?? ? ??????).
· ????? ????? ?? ???? ????? ?? ? ?? ?? ????? ??? ???.
· ???? ?? ??? ? ?? ????? ???? ???? ???? ???? ??? ???? ?? SQL ??? ?? ?????.
MySQLi ??? ?
?? ???? MySQLi?? ??? ?? ???? ?? ????? ??????.
?(MySQLi??? ??? ?? ?????)
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 創(chuàng)建連接 $conn = new mysqli($servername, $username, $password, $dbname); // 檢測連接 if ($conn->connect_error) { die("連接失敗: " . $conn->connect_error); } // 預處理及綁定 $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES(?, ?, ?)"); $stmt->bind_param("sss", $firstname, $lastname, $email); // 設置參數(shù)并執(zhí)行 $firstname = "John"; $lastname = "Doe"; $email = "john@example.com"; $stmt->execute(); $firstname = "Mary"; $lastname = "Moe"; $email = "mary@example.com"; $stmt->execute(); $firstname = "Julie"; $lastname = "Dooley"; $email = "julie@example.com"; $stmt->execute(); echo "新記錄插入成功"; $stmt->close(); $conn->close(); ?>
?? ?? ? ?? ?? ?? ?????.
"INSERT INTO MyGuests(??, ?, ???) VALUES(?, ?, ?)"
In SQL ???? ???(?)? ?????. ??? ???? ??, ???, ???? ?? ??? ? ?? ??? ?? ? ????.
????, bind_param() ??? ???????.
$stmt->bind_param("sss", $firstname, $lastname, $email);
? ??? SQL ????? ????? ??????? ????? ?? ?????. "sss" ???? ?? ??? ????? ??? ??? ?????. s ??? ??????? ????? ????? ?????.
?????? ??? ?? ? ?? ??? ????.
·??i - ??(?? ??)
·?? d - double(???? ?? ??? ??)
· ? ? ? s - ???(???)
· ? ? ? ? b - BLOB(???? ?? ??: ???? ?? ??)
? ?????? ??? ???? ???.
????? ??? ??? ??????? ?? SQL ?? ??? ?? ? ????.
??: ?? ???(??? ??)? ????? ??? ??? ??? ?? ?????.
PDO?? ??? ??
?? ???? PDO?? ??? ?? ??? ?? ??? ?????.
?(PDO? ??? ?? ?????)
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // 設置 PDO 錯誤模式為異常 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 預處理 SQL 并綁定參數(shù) $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (:firstname, :lastname, :email)"); $stmt->bindParam(':firstname', $firstname); $stmt->bindParam(':lastname', $lastname); $stmt->bindParam(':email', $email); // 插入行 $firstname = "John"; $lastname = "Doe"; $email = "john@example.com"; $stmt->execute(); // 插入其他行 $firstname = "Mary"; $lastname = "Moe"; $email = "mary@example.com"; $stmt->execute(); // 插入其他行 $firstname = "Julie"; $lastname = "Dooley"; $email = "julie@example.com"; $stmt->execute(); echo "新記錄插入成功"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?>