1

我正在尝试根据 2 个基本标准来计算数据库中的条目。它返回一个空白结果,即使有结果要找到。有人知道我在这里做错了什么吗?我已经尝试了很多不同的方法,但它们都没有返回结果。(如果我直接在 phpmyadmin 中输入查询,它会返回一个结果。)

$sql = "SELECT count(*) as total_count from orderOption3Detail WHERE orderDate='$orderDate' AND studentID='$studentID'"; 
$numericalResult = mysql_query($sql, $con);
$row = mysql_fetch_object($numericalResult);
$totalOrders1 =  $row->total_count;
echo "My orders:" . $totalOrders1; 
4

2 回答 2

0

已编辑:提供更正的完整代码:

$con=mysqli_connect($db_host,$db_user,$db_pass,$db_name); // Check connection 
if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } //global option 1 
$sql = "SELECT count(*) as total_count from orderOption3Detail WHERE orderDate='$orderDate' AND studentID='$studentID'"; 
//echo $sql; 
$numericalResult = $con->query($sql); 
$row = mysqli_fetch_object($numericalResult); 
echo $row->total_count; //echo (int) $row->total_count;

请对此进行测试并告诉我。祝你好运!----- 结束编辑 ----

您是否测试过直接在 SQL 字符串中分配值作为测试,例如:

$sql = "SELECT count(*) as total_count from orderOption3Detail WHERE orderDate='05/23/2012' AND studentID='17'";

另外,您是否检查了日期的格式是否正确,读取了 $orderdate 变量并在 PHPMyAdmin 中对其进行了测试?

您是否阅读了插入值的 $sql 并在 PHPMyAdmin 中进行了测试并工作了?

另外,检查连接以确保那里没有问题。

还有一件事,对不起。您似乎在 mysql_query 语句中使用了错误的语法。这种方式适用于 mysqli_query,并且参数将被反转。仅尝试:

$numericalResult = mysql_query($sql);

前提是您之前进行了连接和数据库选择,例如:

$connection=mysql_connect($db_host, $db_username, $db_password);
if (!$connection)
          {
            $result=FALSE;
            die('Error connecting to database: ' . mysql_error());
          }

     // Selects database
     mysql_select_db($db_database, $connection);

最好的祝愿,

于 2013-05-15T05:13:29.453 回答
0

正如其他人所说,请确保在变量进入查询之前对其进行清理。

$sql = "SELECT * FROM orderOption3Detail WHERE orderDate = '" . $orderDate . "' AND studentID = '" . $studentID . "'";

$sql_request_data = mysql_query($sql) or die(mysql_error());
$sql_request_data_count = mysql_num_rows($sql_request_data);

echo "Number of rows found: " . $sql_request_data_count;

这就是你所需要的。

于 2013-05-15T01:56:24.207 回答