我正在尝试运行获取列的最大值的查询。我需要检查结果是否返回0。如果0行我需要执行一些代码,否则执行一些代码。我在if中设置了一个回显,看看它是否被命中(应该是因为我正在执行查询的表中没有记录)但它没有显示回声。以下是我的代码:
$sellOrSearch = $_POST['optionsDropDown'];
$isbn = $_POST['isbnNum'];
$price = $_POST['bookPrice'];
$condition = $_POST['bookCondition'];
$desc = $_POST['descTextArea'];
$email = $_SESSION['email'];
$lineNumber = 0;
$maxLineNumber = 0;
$lineNumberQuery = "SELECT MAX(lineNumber) " .
"FROM INVENTORY_BOOK " .
"WHERE studentEmail = '$email'";
$lineNumberQueryResult = mysql_query($lineNumberQuery) or
die("Error accessing Customer table for email look up: " . mysql_error());
$numRows = mysql_numrows($lineNumberQueryResult);
if($numRows == 0)
{
$lineNumber = 1;
echo ("in if");
}
else
{
for($i = 0; $i < $numRows; $i++)
{
$lineNumber = mysql_result($lineNumberQueryResult, $i, "lineNumber");
$lineNumber = $lineNumber + 1;
}
}
答案 0 :(得分:0)
$result = mysql_query("SELECT MAX(lineNumber) " .
"FROM INVENTORY_BOOK " .
"WHERE studentEmail = '$email'", $link);
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows\n";
if($num_rows == 0)
{
$lineNumber = 1;
echo ("in if");
}
答案 1 :(得分:-1)
您在此处发出的是使用不存在的函数:mysql_numrows()
。相反,您必须使用mysql_num_rows()
。
但是这里的真正的问题以及你浪费了大量时间的原因是,即使遇到问题,你显然也不会监控错误日志。这应该总是是第一个看到的地方:你的http服务器错误日志文件,这是通常记录php错误的地方。在这种情况下,它会告诉您,您正在尝试使用不存在的函数。你可以自己解决这个问题。
小方面没有:您使用的是过时的数据库连接器。不推荐使用mysql_...()
函数。这意味着他们将来会被删除。您应该将代码移植到一个更现代的连接器mysqli
或PDO
,并了解“预准备语句”的优点。