ฟอรั่ม | ล่าสุดการพัฒนาเว็บบทเรียน
×

PHP เกี่ยวกับการสอน

PHP บ้าน PHP แนะนำ PHP ติดตั้ง PHP วากยสัมพันธ์ PHP ตัวแปร PHP Echo / พิมพ์ PHP ชนิดข้อมูล PHP เงื่อนไข PHP ค่าคงที่ PHP ผู้ประกอบการ PHP If...Else...Elseif PHP Switch PHP ในขณะที่ลูป PHP สำหรับลูป PHP ฟังก์ชั่น PHP แถว PHP เรียงลำดับอาร์เรย์ PHP Superglobals

PHP การจัดการ

PHP ฟอร์ม การจัดการ PHP ฟอร์ม การตรวจสอบ PHP ฟอร์ม จำเป็นต้องใช้ PHP ฟอร์ม URL/E-mail PHP ฟอร์ม สมบูรณ์

PHP สูง

PHP อาร์เรย์หลายมิติ PHP วันและเวลา PHP ประกอบด้วย PHP ไฟล์ การจัดการ PHP ไฟล์ เปิด / อ่าน PHP ไฟล์ สร้าง / เขียน PHP ไฟล์ อัปโหลด PHP Cookies PHP Sessions PHP ฟิลเตอร์ PHP Filters สูง PHP ผิดพลาด การจัดการ PHP ข้อยกเว้น

MySQL Database

MySQL ฐานข้อมูล MySQL สัมพันธ์ MySQL Create DB MySQL Create ตาราง MySQL Insert Data MySQL รับ ID เข้าครั้งสุดท้าย MySQL ใส่หลาย MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML parsers PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX แนะนำ AJAX PHP AJAX ฐานข้อมูล AJAX XML AJAX ค้นหาสด AJAX RSS Reader AJAX โพลล์

PHP Examples

PHP ตัวอย่าง PHP ทดสอบ PHP ใบรับรอง

PHP การอ้างอิง

PHP แถว PHP ปฏิทิน PHP วันที่ PHP ไดเรกทอรี PHP ผิดพลาด PHP ระบบแฟ้ม PHP กรอง PHP FTP PHP HTTP PHP Libxml PHP จดหมาย PHP คณิตศาสตร์ PHP อื่น ๆ PHP MySQLi PHP SimpleXML PHP เชือก PHP XML PHP Zip PHP ช่วงเวลา

 

PHPเชื่อมต่อกับ MySQL


PHP 5 และต่อมาสามารถทำงานร่วมกับฐานข้อมูล MySQL โดยใช้:

  • ขยาย MySQLi ( "i" ย่อมาจากที่เพิ่มขึ้น)
  • PDO (วัตถุ PHP ข้อมูล)

รุ่นก่อนหน้า PHP ใช้นามสกุล MySQLHowever, this extension was deprecated in 2012. อย่างไรก็ตามส่วนขยายนี้ได้รับการยกเลิกในปี 2012


ฉันควรใช้ MySQLi หรือ PDO?

หากคุณต้องการคำตอบสั้น ๆ ก็จะเป็น "สิ่งที่คุณต้องการ"

ทั้งสอง MySQLi และ PDO มีข้อได้เปรียบของพวกเขา

PDO จะทำงานเมื่อวันที่ 12 ระบบฐานข้อมูลที่แตกต่างกันในขณะที่ MySQLi จะทำงานร่วมกับฐานข้อมูล MySQL

ดังนั้นถ้าคุณต้องเปลี่ยนโครงการของคุณที่จะใช้ฐานข้อมูลอื่น PDO ทำให้กระบวนการง่ายYou only have to change the connection string and a few queries. คุณจะต้องเปลี่ยนสตริงการเชื่อมต่อและแบบสอบถามไม่กี่ด้วย MySQLi คุณจะต้องเขียนรหัสทั้งหมด - คำสั่งรวม

ทั้งสองเป็นวัตถุ แต่ MySQLi มี API ขั้นตอน

การสนับสนุนงบเตรียมPrepared Statements protect from SQL injection, and are very important for web application security. งบเตรียมป้องกันฉีด SQL และมีความสำคัญมากสำหรับการรักษาความปลอดภัยโปรแกรมประยุกต์บนเว็บ


ตัวอย่าง MySQL ทั้งสอง MySQLi และ PDO ไวยากรณ์

ในนี้และในบทต่อไปนี้เราแสดงให้เห็นถึงสามวิธีในการทำงานกับ PHP และ MySQL:

  • MySQLi (object-oriented)
  • MySQLi (ขั้นตอน)
  • PDO

การติดตั้ง MySQLi

สำหรับ Linux และ Windows: นามสกุล MySQLi ติดตั้งโดยอัตโนมัติในกรณีส่วนใหญ่เมื่อแพคเกจ MySQL PHP5 มีการติดตั้ง

สำหรับรายละเอียดการติดตั้งไปที่: http://php.net/manual/en/mysqli.installation.php


การติดตั้ง PDO

สำหรับรายละเอียดการติดตั้งไปที่: http://php.net/manual/en/pdo.installation.php


เปิดการเชื่อมต่อข้อมูล MySQL

ก่อนที่เราจะสามารถเข้าถึงข้อมูลในฐานข้อมูล MySQL, เราจะต้องมีความสามารถในการเชื่อมต่อกับเซิร์ฟเวอร์:

ตัวอย่าง (MySQLi เชิงวัตถุ)

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

บันทึกหมายเหตุเกี่ยวกับตัวอย่างเชิงวัตถุดังกล่าวข้างต้น: $ connect_error เสียจน PHP 5.2.9 และ 5.3.0If you need to ensure compatibility with PHP versions prior to 5.2.9 and 5.3.0, use the following code instead: ถ้าคุณต้องการเพื่อให้เข้ากันกับรุ่นก่อนที่จะ PHP 5.2.9 และ 5.3.0 ใช้รหัสต่อไปนี้แทน:

// ตรวจสอบการเชื่อม
ถ้า (mysqli_connect_error ()) {
ตาย ( "เชื่อมต่อฐานข้อมูลล้มเหลว:" mysqli_connect_error ().);
}

ตัวอย่าง (MySQLi ขั้นตอน)

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

ตัวอย่าง (PDO)

<?php
$servername = "localhost";
$username = "username";
$password = "password";

try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>

บันทึกขอให้สังเกตว่าในตัวอย่าง PDO ข้างต้นเราได้ระบุยังฐานข้อมูล (myDB)PDO require a valid database to connect to. PDO จำเป็นต้องมีฐานข้อมูลที่ถูกต้องเพื่อเชื่อมต่อกับถ้าฐานข้อมูลไม่ได้ระบุยกเว้นจะโยน

เคล็ดลับ: ประโยชน์ที่ดีของ PDO คือว่ามันมีชั้นข้อยกเว้นที่จะจัดการกับปัญหาใด ๆ ที่อาจเกิดขึ้นในการสืบค้นฐานข้อมูลของเราIf an exception is thrown within the try{ } block, the script stops executing and flows directly to the first catch(){ } block. หากยกเว้นจะโยนภายในบล็อกลอง {} สคริปต์หยุดการดำเนินการและไหลโดยตรงกับการจับครั้งแรก () {} บล็อก


ปิดการเชื่อมต่อ

การเชื่อมต่อจะถูกปิดโดยอัตโนมัติเมื่อสคริปต์จะสิ้นสุดลงTo close the connection before, use the following: เพื่อปิดการเชื่อมต่อก่อนที่จะใช้ต่อไปนี้:

ตัวอย่าง (MySQLi เชิงวัตถุ)

$conn->close();

ตัวอย่าง (MySQLi ขั้นตอน)

mysqli_close($conn);

ตัวอย่าง (PDO)

$conn = null;