ホームページ >バックエンド開発 >PHPチュートリアル >クエリ文の問題
データベースはmssqlです。このステートメントをクエリ アナライザーで実行しても問題ありません。しかし。ウェブサイトで使用すると、結果が異なります。
select top 6 * from WEB_VIEW where DNBH='$username' order by SFMonth desc
mssql クエリ アナライザーで実行し、最新の 6 つの結果を取得します。ただし、ページでテストすると、レコードは 5 つしか取得できません。最新のものはありません。
6 は 7 に変わりますか?
//connection to the database$dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("连接不上数据库"); //select a database to work with$selected = mssql_select_db($myDB, $dbhandle) or die("连接不上指定数据库"); $username=trim($_POST['username']);$password=trim($_POST['pass']);//declare the SQL statement that will query the database$query = "select top 6 * from WEB_VIEW where DNBH='$username' order by SFMonth desc ";//execute the SQL query and return records$result = mssql_query($query) or die ("查询数据失败: ".mysql_error());$numRows = mssql_num_rows($result); $nRow=mssql_fetch_array($result);if ($password <> substr($nRow[3],-4)) {echo "<h2>输入有误,请正确输入用户名和密码。谢谢!</h2>";}else { if (empty($numRows)) echo "<h2>没有查到数据哦,请正确输入用户名和密码。谢谢!</h2>"; else { //$nRow=mssql_fetch_array($result); echo "你好!电脑编号为"; echo "$username"; echo ","; echo "户名"; echo "$nRow[2]"; echo "<table border='1'> <tr> <th>月份</th> <th>总费用</th> </tr> "; while($row=mssql_fetch_array($result)) { echo"<tr>"; echo"<td>"; echo $row[1]; echo"</td>"; echo"<td>"; echo ($row[10]+$row[4]); echo"</td>"; echo"</tr>"; } mssql_close($dbhandle); }}
18 行目は $nRow=mssql_fetch_array($result); 最初のレコードが読み取られます
したがって、1 つ減ります
コードの 38 行目から 48 行目は次のようになります。に変更します。 echo"