2016-07-13 14 views
0

Hallo, ich schreibe ein einfaches Skript, um von der gesamten Datenbank abhängig von der Benutzereingabe zu suchen. Hier ist mein Code:Suche gesamte Datenbank in MySQL mit PHP

<?php 
$search=isset($_POST['search']); 
$submit=isset($_POST['submit']); 
if($submit){ 
$connect=new mysqli("localhost","root",""); 
mysqli_select_db($connect,'go-web'); 
$query=mysqli_query($connect,"SELECT * FROM `go-web`.`product` WHERE (CONVERT(`name` USING utf8) LIKE '%$search%' OR CONVERT(`category` USING utf8) LIKE '%$search%' OR CONVERT(`brand` USING utf8) LIKE '%$search%' OR CONVERT(`keyword` USING utf8) LIKE '%$search%')"); 
while($row=mysqli_fetch_array($query)) 
{ 
echo '<tr><td style="height=100px"><center><a href=""><img src="'.$row['image'].'" width="150px" height="150px" /></a><center><figcaption>Price:'.$row['price'].'</figcaption></center><br> <center><figcaption>Stock:'.$row['stock'].'</figcaption></center></center></td></tr>'; 
} 
} 
?> 

Das Problem hierbei ist, wenn ich den Eingang gebe ich bin das gleiche Ergebnis immer wieder zu bekommen. Irgendwelche Hilfe? Vielen Dank.

Antwort

2

Das Problem ist, dass Sie $search = isset($_POST['search']), setzen die in einem boolean führen wird, dann gehen Sie auf die in der Abfrage zu verwenden: name LIKE '%$search%'

<?php 
$search = $_POST['search']; 
$submit = isset($_POST['submit']); 

if(isset($search)) { 

    $connect = new mysqli("localhost","root","","go-web"); 

    $search = mysqli_real_escape_string($connect, $search); 

    $sql = "SELECT * FROM `go-web`.`product` WHERE (CONVERT(`name` USING utf8) LIKE '%$search%' OR CONVERT(`category` USING utf8) LIKE '%$search%' OR CONVERT(`brand` USING utf8) LIKE '%$search%' OR CONVERT(`keyword` USING utf8) LIKE '%$search%')"; 

    $query = mysqli_query($connect,$sql); 

    while($row = mysqli_fetch_array($query)) 
    { 
     echo '<tr><td style="height=100px"><center><a href=""><img src="'.$row['image'].'" width="150px" height="150px" /></a><center><figcaption>Price:'.$row['price'].'</figcaption></center><br> <center><figcaption>Stock:'.$row['stock'].'</figcaption></center></center></td></tr>'; 
    } 
} 

?> 
+1

Oh !!! Wie könnte ich das vergessen? Danke, Mann !! –

+1

@SANTOSHVERMA Bitte wählen Sie die Antwort, wenn es Ihnen geholfen hat, Ihr Problem zu lösen – BeetleJuice