PHP поиск MySQL таблицы - PullRequest
2 голосов
/ 23 ноября 2011

Я создал этот небольшой скрипт, который ищет таблицу в моей базе данных, но, судя по всему, я нигде не могу найти способ отображения информации таблицы, если кто-то только ищет электронную почту.Я хочу иметь возможность искать только электронную почту, и она должна отображать всю информацию для этого адреса электронной почты из базы данных.Какие-нибудь мысли?

<?php
$profile = $_POST["profile"];

mysql_connect ("", "", "");
mysql_select_db ("");

$query = "SELECT * FROM `profile` WHERE `email`='$email' and `about`='$about' and 
`age`='$age' and `sex`='$sex' and `website`='$website'";


$result = mysql_query ($query);
if ($result) {
while($row=mysql_fetch_row($result))
{
echo $row[0],$row[1],$row[2];
}
}else{

}
?>

<form action="profile.php" method="post">
<input type="text" name="search"><br>
<input type="submit">

Ответы [ 2 ]

3 голосов
/ 23 ноября 2011

Нечисловое поле в запросе должно быть заключено в одинарные кавычки.

<?php  

  $search = $_POST["search"];
  mysql_connect("localhost", "username", "password") OR die (mysql_error());
  mysql_select_db ("your_db_name") or die(mysql_error());

  $query = "SELECT * FROM `profile` WHERE `email`='$search'";

  $result = mysql_query($query) or die (mysql_error());

  if($result) 
   {    
      while($row=mysql_fetch_row($result))   
       {      
          echo $row[0],$row[1],$row[2];   
       }    
     }
   else
     { 
       echo "No result";  
     }
 ?>

<form action="profile.php" method="post">  
  <input type="text" name="search"><br>  
  <input type="submit">
</form>   

РЕДАКТИРОВАТЬ:

В приведенном выше фрагменте кода у вас есть одно поле text и submit button так что вы можете использовать "search" значение поля для поиска по любому полю базы данных за раз.

Если вы хотите искать по электронной почте, SQL-запрос будет:

SELECT * FROM `profile` WHERE `email`='$search'";

Youможно использовать оператор OR для поиска в одном или нескольких полях:

 SELECT * FROM `profile` WHERE `email`='$search' or about`='$search'";

Вы можете использовать оператор LIKE для поиска строки

SELECT * FROM `profile` WHERE `email` LIKE '%$search%'";
2 голосов
/ 23 ноября 2011

Самый простой способ - написать другой запрос

 $query = "SELECT * FROM profile WHERE email='$email'";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...