搜索mySql并将结果添加到表单中

时间:2011-09-28 17:43:26

标签: 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   第18行/homepages/2/d333603417/htdocs/development/search.php

第18行是:

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

我从互联网上找到的教程中获取了源代码,并且我已经回到源代码并重新检查了我的字段名称等,我无法找出问题所在。

有人可能会看看这个,让我知道我哪里出错吗?

非常感谢

2 个答案:

答案 0 :(得分:3)

$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)。

答案 1 :(得分:1)

第18行上方的行没有分号,导致第18行被错误地解析。

$email = $_POST['email']

线索是“解析错误:语法错误”,这通常意味着您在前一个语句中缺少分号,括号或大括号。