تحديد البيانات من قاعدة بيانات الخلية
يستخدم عبارة SELECT لتحديد البيانات من جدول واحد أو أكثر:
SELECT column_name(s)
FROM table_name
أو يمكننا استخدام الحرف * لتحديد ALL أعمدة من جدول:
SELECT *
FROM table_name
لمعرفة المزيد حول SQL، يرجى زيارة موقعنا على SQL البرنامج التعليمي .
حدد البيانات مع MySQLi
يحدد المثال التالي الهوية، والأعمدة الاسم الأول واسم العائلة من الجدول MyGuests ويعرضها على الصفحة:
مثال (MySQLi Object-oriented)
<?php
$servername = "localhost";
$username = "username";
$password =
"password";
$dbname =
"myDB";
// Create connection
$conn = new mysqli($servername,
$username, $password, $dbname);
// Check connection
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result
= $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc())
{
echo "id: " .
$row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"].
"<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
تشغيل المثال » خطوط الرمز إلى شرح من المثال أعلاه:
أولا، أنشأنا استعلام SQL الذي يحدد الهوية، والأعمدة الاسم الأول واسم العائلة من الجدول MyGuests. السطر التالي من التعليمات البرمجية تشغيل الاستعلام ويضع البيانات الناتجة إلى متغير يسمى نتيجة $.
ثم، فإن وظيفة num_rows() يتحقق إذا كان هناك أكثر من الصفر صفوف عاد.
إذا كان هناك عادت أكثر من صفر الصفوف، وظيفة fetch_assoc() يضع كل النتائج إلى مجموعة النقابي ما في وسعنا من خلال حلقة. في while() حلقة الحلقات من خلال مجموعة النتائج وإخراج البيانات من الهوية، والاسم الأول واسم العائلة الأعمدة.
المثال التالي يوضح نفس المثال أعلاه، في الطريقة الإجرائية MySQLi:
مثال (MySQLi Procedural)
<?php
$servername = "localhost";
$username = "username";
$password =
"password";
$dbname =
"myDB";
// Create connection
$conn = mysqli_connect($servername, $username, $password,
$dbname);
// Check connection
if (!$conn) {
die("Connection
failed: " . mysqli_connect_error());
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result
= mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row =
mysqli_fetch_assoc($result))
{
echo "id: " .
$row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"].
"<br>";
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>
تشغيل المثال » يمكنك أيضا وضع النتيجة في جدول HTML:
مثال (MySQLi Object-oriented)
<?php
$servername = "localhost";
$username = "username";
$password =
"password";
$dbname =
"myDB";
// Create connection
$conn = new mysqli($servername,
$username, $password, $dbname);
// Check connection
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result
= $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Name</th></tr>";
//
output data of each row
while($row = $result->fetch_assoc())
{
echo "<tr><td>" .$row["id"]."</td><td>".$row["firstname"]."
".$row["lastname"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
تشغيل المثال » حدد البيانات مع شركة تنمية نفط عمان (+ Prepared Statements)
يستخدم المثال التالي عبارات المعدة.
فإنه يحدد الهوية، والأعمدة الاسم الأول واسم العائلة من الجدول MyGuests ويعرضها في جدول HTML:
مثال (PDO)
<?php
echo "<table style='border: solid 1px black;'>";
echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th></tr>";
class TableRows extends RecursiveIteratorIterator {
function __construct($it) {
parent::__construct($it, self::LEAVES_ONLY);
}
function current() {
return "<td style='width:150px;border:1px solid black;'>" .
parent::current(). "</td>";
}
function beginChildren() {
echo "<tr>";
}
function
endChildren() {
echo "</tr>"
. "\n";
}
}
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname",
$username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION);
$stmt =
$conn->prepare("SELECT id, firstname, lastname FROM MyGuests");
$stmt->execute();
// set the resulting array to associative
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as
$k=>$v) {
echo $v;
}
}
catch(PDOException
$e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>
تشغيل المثال »