我有一个php文件,可以从我的mysql表中获取和打印数据。 这是代码..
<?php
{
$username = 'root';
$bookid = "GCK";
$con = mysql_connect("localhost","root","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("library", $con);
$query3 = "SELECT * FROM GCKcatalogue WHERE BookID LIKE'%$bookid%'";
$numresults=mysql_query($query3);
$numrows=mysql_num_rows($numresults);
$result3 = mysql_query($query3);
($info3 = mysql_fetch_array($result3));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="en-us" http-equiv="Content-Language">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Results</title>
</head>
<body>
<table align="center" style="width: 80%" class="style4" cellpadding="1px" cellspacing="1px">
<tr>
<td class="style19">Resource ID</td><td class="style19">ISBN</td><td class="style19">Title</td><td class="style19">Author</td><td class="style19">Publisher</td><td class="style19">Year</td><td class="style19">Edition</td><td class="style19">Language</td><td class="style19">Type</td><td class="style19">Price</td><td class="style19">Location</td><td class="style19">Abstract</td><td class="style19">Availability</td><td class="style19">Last Issued</td><td class="style19">Last Received</td><td class="style19">Loan To</td>
</tr>
<?php
while($info3 = mysql_fetch_array($result3)){
$RID = $info3["BookID"];
$ISBN = $info3["ISBN"];
$Title = $info3["Title"];
$Author = $info3["Author"];
$Publisher = $info3["Publisher"];
$Year = $info3["Year"];
$Edition = $info3["Edition"];
$Language = $info3["Language"];
$Type = $info3["Type"];
$Price = $info3["Price"];
$Location = $info3["Location"];
$Abstract = $info3["Abstract"];
$Availability = $info3["Availability"];
$Issue = $info3["IssueDate"];
$Receive = $info3["ReceiveDate"];
$User = $info3["User"];
echo '
<tr>
<td class="style20">' . $RID . '</td>
<td class="style20">' . $ISBN . '</td>
<td class="style20">' . $Title . '</td>
<td class="style20">' . $Author . '</td>
<td class="style20">' . $Publisher . '</td>
<td class="style20">' . $Year . '</td>
<td class="style20">' . $Edition . '</td>
<td class="style20">' . $Language . '</td>
<td class="style20">' . $Type . '</td>
<td class="style20">' . $Price . '</td>
<td class="style20">' . $Location . '</td>
<td class="style20">' . $Abstract . '</td>
<td class="style20">' . $Availability . '</td>
<td class="style20">' . $Issue . '</td>
<td class="style20">' . $Receive . '</td>
<td class="style20">' . $User . '</td>
</tr>
';
}
?>
</table>
</body>
</html>
问题是, 查询正在跳过(或不提供)第一行中的数据。其他一切都很好......
我正在使用
Apache / 2.2.13(Win32)PHP / 5.3.0
MySQL客户端版本:mysqlnd 5.0.5-dev - 081106 - $ Revision:1.3.2.27 $
答案 0 :(得分:1)
这是因为这一行:
($info3 = mysql_fetch_array($result3));
您正在抓取第一行而不对其执行任何操作:)
此外,第一个PHP块周围的{
和}
也没有做任何事情。
编辑:
如果它之前正在工作,除了第一行之外,如果将第一个PHP块更改为:
,则应该没问题<?php
$username = 'root';
$bookid = "GCK";
$con = mysql_connect("localhost","root","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("library", $con);
$query3 = "SELECT * FROM GCKcatalogue WHERE BookID LIKE'%$bookid%'";
$numresults=mysql_query($query3);
$numrows=mysql_num_rows($numresults);
$result3 = mysql_query($query3);
?>
还有其他一些奇怪的事情发生(例如,你从不使用$username
变量),但至少应该给出正确的输出。
答案 1 :(得分:1)
这是因为你正在用这一行获取第一行:
($info3 = mysql_fetch_array($result3));
这会将数组指针移动到第二个项目。
此外,您不必执行两次查询以获取行数和数据。做这样的事情:
$result = MySql_Query ( 'QUERY HERE' );
$numOfRows = MySql_Num_Rows ( $result );
while ( $row = MySql_Fetch_Array ( $result ) ) {
...
}
答案 2 :(得分:0)
试试这个:
$ result = MySql_Query('QUERY HERE'); $ numOfRows = MySql_Num_Rows($ result); while($ row = MySql_Fetch_Array($ result)){ $ arrData [] = $ row; }
的print_r($ arrData);