PHP MySQL WHERE क्लॉज का उपयोग करें
MySQL डेटाबेस से डेटा चुनें और फ़िल्टर करें
रिकॉर्ड्स को फ़िल्टर करने के लिए WHERE क्लॉज का उपयोग किया जाता है।
WHERE क्लॉज का उपयोग केवल उन रिकॉर्ड्स को निकालने के लिए किया जाता है जो एक निर्दिष्ट शर्त को पूरा करते हैं।
SELECT column_name(s)
FROM table_name WHERE column_name operator value
SQL के बारे में अधिक जानने के लिए, कृपया हमारे SQL ट्यूटोरियल पर जाएँ ।
MySQLi के साथ डेटा चुनें और फ़िल्टर करें
निम्न उदाहरण MyGuests तालिका से आईडी, प्रथम नाम और अंतिम नाम कॉलम का चयन करता है जहां अंतिम नाम "डो" है, और इसे पृष्ठ पर प्रदर्शित करता है:
उदाहरण (MySQLi ऑब्जेक्ट-ओरिएंटेड)
<?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 WHERE
lastname='Doe'";
$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 तालिका से आईडी, प्रथम नाम और अंतिम नाम कॉलम का चयन करती है जहां अंतिम नाम "डो" है। कोड की अगली पंक्ति क्वेरी चलाती है और परिणामी डेटा को $result नामक एक चर में डालती है।
फिर, function num_rows()
चेक करता है कि क्या शून्य से अधिक पंक्तियाँ वापस आ गई हैं।
यदि शून्य से अधिक पंक्तियाँ वापस आती हैं, तो फ़ंक्शन fetch_assoc()
सभी परिणामों को एक साहचर्य सरणी में रखता है जिसे हम लूप कर सकते हैं। while()
लूप परिणाम सेट के माध्यम से लूप करता है और आईडी, प्रथम नाम और अंतिम नाम कॉलम से डेटा आउटपुट करता है ।
निम्न उदाहरण MySQLi प्रक्रियात्मक तरीके से ऊपर दिए गए उदाहरण के समान दिखाता है:
उदाहरण (MySQLi प्रक्रियात्मक)
<?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
WHERE lastname='Doe'";
$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 ऑब्जेक्ट-ओरिएंटेड)
<?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 WHERE
lastname='Doe'";
$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();
?>
पीडीओ के साथ डेटा का चयन करें (+ तैयार विवरण)
निम्नलिखित उदाहरण तैयार कथनों का उपयोग करता है।
यह MyGuests तालिका से आईडी, प्रथम नाम और अंतिम नाम कॉलम का चयन करता है जहां अंतिम नाम "Doe" है, और इसे HTML तालिका में प्रदर्शित करता है:
उदाहरण (पीडीओ)
<?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
WHERE lastname='Doe'");
$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>";
?>