MySQLi - เลือกแบบสอบถาม
SQL SELECTคำสั่งใช้เพื่อดึงข้อมูลจากฐานข้อมูล MySQLi คุณสามารถใช้คำสั่งนี้ได้ที่ mysql> prompt เช่นเดียวกับในสคริปต์ใด ๆ เช่น PHP
ไวยากรณ์
นี่คือไวยากรณ์ SQL ทั่วไปของคำสั่ง SELECT เพื่อดึงข้อมูลจากตาราง MySQLi -
SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE Clause]
[OFFSET M ][LIMIT N]
คุณสามารถใช้ตารางอย่างน้อยหนึ่งตารางที่คั่นด้วยลูกน้ำเพื่อรวมเงื่อนไขต่างๆโดยใช้คำสั่ง WHERE แต่คำสั่ง WHERE เป็นส่วนเสริมของคำสั่ง SELECT
คุณสามารถดึงฟิลด์ตั้งแต่หนึ่งฟิลด์ขึ้นไปในคำสั่ง SELECT เดียว
คุณสามารถระบุดาว (*) แทนช่องได้ ในกรณีนี้ SELECT จะส่งคืนฟิลด์ทั้งหมด
คุณสามารถระบุเงื่อนไขใด ๆ โดยใช้คำสั่ง WHERE
คุณสามารถระบุออฟเซ็ตโดยใช้ OFFSETจากจุดที่ SELECT จะเริ่มส่งคืนระเบียน โดยค่าชดเชยเริ่มต้นคือศูนย์
คุณสามารถ จำกัด จำนวนผลตอบแทนโดยใช้ LIMIT แอตทริบิวต์
การดึงข้อมูลจากพรอมต์คำสั่ง -
สิ่งนี้จะใช้คำสั่ง SQL SELECT เพื่อดึงข้อมูลจาก MySQLi table tutorials_tbl
ตัวอย่าง
ตัวอย่างต่อไปนี้จะส่งคืนระเบียนทั้งหมดจาก tutorials_inf โต๊ะ -
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_inf;
+----+------+
| id | name |
+----+------+
| 1 | sai |
| 2 | kit |
| 3 | ram |
+----+------+
3 rows in set (0.00 sec)
mysql>
การดึงข้อมูลโดยใช้สคริปต์ PHP
คุณสามารถใช้คำสั่ง SQL SELECT เดียวกันในฟังก์ชัน PHP mysqli_query(). ฟังก์ชันนี้ใช้เพื่อดำเนินการคำสั่ง SQL และฟังก์ชัน PHP อื่นในภายหลังmysqli_fetch_assoc()สามารถใช้เพื่อดึงข้อมูลที่เลือกทั้งหมด ฟังก์ชันนี้จะส่งคืนแถวเป็นอาร์เรย์ที่เชื่อมโยงอาร์เรย์ตัวเลขหรือทั้งสองอย่าง ฟังก์ชันนี้จะส่งกลับค่า FALSE หากไม่มีแถวเพิ่มเติม
ด้านล่างนี้เป็นตัวอย่างง่ายๆในการดึงข้อมูลจากระเบียน tutorials_inf ตาราง.
ตัวอย่าง
ลองใช้ตัวอย่างต่อไปนี้เพื่อแสดงระเบียนทั้งหมดจากตาราง tutorials_inf
<html>
<head>
<title>Selecting Table in MySQLi Server</title>
</head>
<body>
<?php
$dbhost = 'localhost:3306';
$dbuser = 'root';
$dbpass = '';
$dbname = 'TUTORIALS';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);
if(! $conn ) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully<br>';
$sql = 'SELECT name FROM tutorials_inf';
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "Name: " . $row["name"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>
</body>
</html>
เนื้อหาของแถวจะถูกกำหนดให้กับตัวแปร $ row และจากนั้นจะพิมพ์ค่าในแถว
NOTE - อย่าลืมใส่วงเล็บปีกกาเมื่อคุณต้องการแทรกค่าอาร์เรย์ลงในสตริงโดยตรง
ผลลัพธ์ตัวอย่างควรเป็นดังนี้ -
Connected successfully
Name: ram
Name: kit
Name: abc