#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']
Подсказка — «Ошибка синтаксического анализа: синтаксическая ошибка», что часто означает, что в предыдущем операторе отсутствует точка с запятой, круглые скобки или фигурные скобки.