Поиск в MySQL и добавление результатов в форму

#php #mysql

#php #mysql

Вопрос:

Интересно, может ли кто-нибудь помочь мне, пожалуйста.

Я пытаюсь использовать приведенный ниже скрипт для возврата данных из MySQL в HTML-форму.

  <?php
require("phpfile.php");  

// Opens a connection to a MySQL server  

$connection=mysql_connect ("host", $username, $password);  
if (!$connection) { die('Not connected : ' . mysql_error());}  

// Set the active MySQL database  

$db_selected = mysql_select_db($database, $connection);  
if (!$db_selected) {  
die ('Can't use db : ' . mysql_error());  
}  


$email = $_POST['email']
$sql = mysql_query("SELECT * FROM userdetails WHERE emailaddress like '%$email%'");

while($row = mysql_fetch_array($sql))
  {
  echo $row['forename']; 
  echo $row['surname'];
  echo "<br />";
  }
?> 
  

Поле, которое используется для сопоставления входных данных с данными, хранящимися в моей базе данных, — это адрес электронной почты. В принципе, если введенный адрес электронной почты соответствует записи в базе данных, он возвращает имя и фамилию.

Однако, когда я запускаю его, я получаю следующую ошибку:

Ошибка синтаксического анализа: синтаксическая ошибка, неожиданная ПЕРЕМЕННАЯ T_VARIABLE в /homepages/2/d333603417/htdocs/development/search.php в строке 18

Где строка 18:

 $sql = mysql_query("SELECT * FROM userdetails WHERE emailaddress like '%$email%'");
  

Я взял исходный код из учебника, который я нашел в Интернете, и я вернулся к источнику и перепроверил свои имена полей и т. Д., И я не могу выяснить, в чем проблема.

Может ли кто-нибудь взглянуть на это и сообщить мне, где я ошибаюсь, пожалуйста?

Большое спасибо

Ответ №1:

 $email = $_POST['email']
$sql = mysql_query("SELECT * FROM userdetails WHERE emailaddress like '%$email%'");
  

изменить на:

 $email = $_POST['email'];
$sql = mysql_query("SELECT * FROM userdetails WHERE emailaddress like '%$email%'");
  

вы забыли; после объявления вашей переменной $email .

Кроме того, подсказка здесь неожиданная T_VARIABLE .

По сути, неожиданное означает, что скрипт что-то делал и неожиданно столкнулся с чем-то, чего не должно было быть во время процесса. В этом случае он неожиданно обнаружил переменную ( T_VARIABLE ), когда она «ожидала» точку с запятой.

Ответ №2:

В строке над строкой 18 отсутствует точка с запятой, что приводит к неправильному анализу строки 18.

 $email = $_POST['email']
  

Подсказка — «Ошибка синтаксического анализа: синтаксическая ошибка», что часто означает, что в предыдущем операторе отсутствует точка с запятой, круглые скобки или фигурные скобки.