में एकाधिक फ़ील्ड के साथ MySQL डेटाबेस खोजें मैंने एक फॉर्म बनाया है जहां उपयोगकर्ता डेटाबेस खोज सकता है, और परिणाम इस बात पर निर्भर करता है कि उपयोगकर्ता फ़ॉर्म को कैसे भरता है।
उदाहरण के लिए, मेरे पास नाम, पता, शहर, राज्य और ज़िप फ़ील्ड है, और उपयोगकर्ता नाम और शहर के फ़ील्ड भरता है, परिणाम इनपुट को दर्शाते हैं। जब फॉर्म सबमिट करता है तो सभी रिकॉर्ड प्रदर्शित होते हैं। इस के लिए मैं इस बारे में:एक फॉर्म
if(isset($_POST['submit'])) {
$sql = mysql_query("SELECT * FROM table WHERE name LIKE '%" . $_POST['name'] . "%'
OR address LIKE '%" . $_POST['address'] . "%'
OR city LIKE '%" . $_POST['city'] . "%'
OR state LIKE '%" . $_POST['state'] . "%'
OR zip LIKE '%" . $_POST['zip'] . "%'");
}
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
<tr>
<td>Name:</td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td>Address:</td>
<td><input type="text" name="address" /></td>
</tr>
<tr>
<td>City:</td>
<td><input type="text" name="city" /></td>
</tr>
<tr>
<td>State:</td>
<td><input type="text" name="state" /></td>
</tr>
<tr>
<td>Zip:</td>
<td><input type="text" name="zip" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="submit" value="Search" /></td>
</tr>
</form>
</table>
<?php
if(isset($_POST['submit'])) {
while($row = mysql_fetch_array($sql)) {
echo $row['name'] . "<br />";
}
}
?>
लेकिन इस मामले में एक उपयोगकर्ता एक क्षेत्र को खाली छोड़ सकते हैं।
कोडिंग यहाँ दुर्भावनापूर्ण उपयोगकर्ताओं के खिलाफ सुरक्षित नहीं है। कृपया http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in-php पढ़ें। –