2012-08-03 62 views
3

该任务非常简单。使用html表单,姓氏被发布到连接到myAdmin数据库的php代码中,并返回与HTML搜索中发布的姓氏相关联的名字和姓氏。 我已经仔细检查了我的数据库,以及我正在使用的连接php。信息是在数据库中,我的connection.php文件对其他文件访问和操作这个相同的数据库工作正常。 反正这里是我的html代码:使用html搜索和php后选择与WHERE条件。返回空白表

<html> 
<body> 
<form action="where.php" method="post"> 
Lastname: <input type="text" name="lastname" /> 
<input type="submit" name="search" /> 
</form> 
</body> 
</html> 

和我的帖子PHP代码:

<?php 
include('connection.php'); 

$sql = "SECLECT * FROM PERSONS WHERE LastName ='$_POST[lastname]'"; 
$result = mysql_query($sql); 
?> 

<table border='1'> 
<tr> 
    <td>Firstname</td> 
    <td>Lastname</td> 
</tr> 

<?php 
while($row = mysql_fetch_array($result)) 
{ 
?> 
    <tr> 
    <td><?php echo $row['FirstName'] ?></td> 
    <td><?php echo $row['LastName'] ?></td> 
    </tr> 

<?php 
} 
?> 
</table> 

<?php 
mysql_close($con); 
?> 

任何人都知道为什么,当我搜索一个有效的姓氏,我回去,只有有标题的表格,但没有价值?

+1

应停止使用'mysql_ *'功能。他们正在被弃用。请使用[PDO](http://php.net/manual/en/book.pdo.php)(自PHP 5.1起支持)或[mysqli](http://php.net/manual/en/book)。 mysqli.php)(自PHP 4.1起支持)。如果你不确定使用哪一个,[阅读这篇文章](http://stackoverflow.com/questions/13569/mysqli-or-pdo-what-are-the-pros-and-cons)。 – Matt 2012-08-03 18:37:18

+0

你会得到什么错误?尝试回应您的输入。 – j08691 2012-08-03 18:37:47

+0

我没有得到一个错误我只是得到一个标题名字和姓氏的表格,里面没有实际值。我必须使用mysql函数b/c这是一个类,这是我的教授教给我们的:/ – 2012-08-03 18:41:06

回答

0
<td><?php echo $row['FirstName'] ?></td> 
    <td><?php echo $row['LastName'] ?></td> 

都需要;公司(分号) 例如:

<td><?php echo $row['FirstName']; ?></td> 
<td><?php echo $row['LastName']; ?></td> 
+0

放在半决赛,但仍然得到空白表结果 – 2012-08-03 18:43:39

+0

请参阅@Nokson评论以及 – Jim 2012-08-03 18:47:31

+0

不,[分号不需要在这里](http://stackoverflow.com/questions/2038745/do-i-需要一个尾随分号 - 在这里) – 2012-08-06 05:29:55

1

你把 “SECLECT” 上查询。这是SELECT

+0

是的,我的脚本有时读得诵读困难,但是我解决了它,它仍然返回一张空白的表格 – 2012-08-03 18:47:13

+0

$ _POST [lastname] - > $ _POST [“lastname”]也许? – 2012-08-03 18:50:02

+0

尝试过,但它只是给我一个服务器错误,而不是返回任何东西 – 2012-08-03 18:52:35

0

试试这个:

$sql = ("SELECT * FROM PERSONS WHERE LastName ='".$_POST['lastname']."'"); 

也看看这个。我知道这是一个android/json教程,但如果您使用print函数,请稍微调整一下,然后将查询更改为没有变量的查询。

$sql = ("SELECT * FROM PERSONS WHERE LastName ='Doe'"); 

然后,您可以通过导航到此“测试”页面进行测试。结果将显示在屏幕上。这可能有助于查明您的问题

+0

事实证明,我的主要问题是阅读障碍,并以某种方式不断忽略SECLECT,而不是最后一小时的SELECT :(我觉得很愚蠢 – 2012-08-03 19:02:50

1

试着改变你的查询 -

$sql = "SELECT * FROM PERSONS WHERE LastName like '%$_POST[lastname]%'"; 

如果它显示了一定的效果,那么你可能在精确匹配方案问题