2013-03-17 178 views
1

我想知道我是否可以得到一些帮助,并告诉我我在这里做错了,因为我的代码不会回显。结果不会回显,它只是一个空白页面。我现在非常沮丧,我的教授根本没有帮助,也不会告诉我我做错了什么。我基本上创建了一个搜索框,我可以在其中输入一个NBA球队名称,并通过从MS Access数据库中提取球队记录来显示球队记录。动态SQL - 不知道为什么我的代码不回显

我也把打印命令,看看我做错了什么,这是我所得到的,如果我在西部联盟球队的名字一样在搜索框中马刺输入:SELECT teamRECORDS FROM nbateam WHERE teamNBA ='马刺'

如果有人能帮助我,让我看看灯光,我非常感谢!

table: nbateam 
Fields: ID, teamNBA, teamRECORDS 

**<--nba.html-->** 

<form action="nbadetails.php" method="post"> 

<h2>Current Western Conference NBA Team Records</h2> 

<h4>Enter the NBA team name:</h4> 
<input type="text" name="teamName"> 
<br> 
<input type="submit" value="Go!"> 
</form> 

**<--nbadetails.php-->** 

<?php 
$teamname=filter_input (INPUT_POST, "teamName"); 

$conn = new COM("ADODB.Connection") or die("Cannot start ADO"); 
$connString= "Provider=Microsoft.Jet.OLEDB.4.0;Data  Source=e:\\server\\kl7\\Database\\nbateam.mdb"; 

$conn->Open($connString); 

$selectCommand="SELECT teamRECORDS FROM nbateam WHERE teamNBA='".$teamname."'"; 

print $selectCommand; 

$rs=$conn->Execute($selectCommand); 

if (!$rs->EOF) 
{ 
$teamNBA=$rs->Fields("teamNBA"); 
echo "Results: $teamNBA"; 
} 
else 
{ 
echo "You did not enter a western conference NBA team name."; 

$rs->Close; 
} 
?> 
+0

我能帮你的唯一方法就是添加php标签。 – 2013-03-17 04:40:44

+0

我不熟悉连接到'ms-access',但您选择的是'teamRECORDS'('$ selectCommand =“SELECT teamRECORDS ...'),但是调用列'teamNBA'('$ teamNBA = $ rs- > Fields(“teamNBA”);')。不应该是'$ teamNBA = $ rs-> Fields(“teamRECORDS”);'? – Sean 2013-03-17 04:52:29

+0

@Sean - 啊..我真笨!我发起了错误的战场!我发誓我曾经在某个时候有过teamRECORDS,但是我不确定它为什么没有出现,所以我通过挫折改变了它。可能是我的服务器,但是非常感谢你!我会记住这一点。 – Kip 2013-03-17 05:47:29

回答

0

您在选择查询中未选择teamNBA

$selectCommand="SELECT teamRECORDS, teamNBA FROM nbateam WHERE teamNBA='$teamname'"; 

您可能需要在连接字符串中传递userid和password请尝试以上操作无效。

$connString= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\\server\\kl7\\Database\\nbateam.mdb"; User ID=userid;Password=password; 
相关问题