gpt4 book ai didi

PHP + MySQL 查询 : Unexpected results (for small number of results only)

转载 作者:行者123 更新时间:2023-11-29 14:44:54 25 4
gpt4 key购买 nike

尝试根据用户指定的开始日期和结束日期显示 MySQL 数据库的结果。以下是代码:

    //Getting Values From Other Page
$start_date = date("Y-m-d", strtotime($_GET["date3"]));
$end_date = date("Y-m-d", strtotime($_GET["date4"]));

//Server Connection Info
$server = "server_name";
$db_user = "username";
$db_pass = "pass";
$db_name = "dbname";

//Server Connection + Query
$link = mysql_connect($server,$db_user,$db_pass);
if(!$link)
{
die("Could Not Connect:".mysql_error());
}
mysql_select_db($db_name, $link) or die('Can\'t use db:'. mysql_error());

if ($start_date == $end_date){
$query = "SELECT col_a, col_b, col_c, col_d FROM main WHERE date='".$start_date."'";
}
else {
$query = "SELECT col_a, col_b, col_c, col_d FROM main WHERE date BETWEEN '".$start_date."' AND '".$end_date."'";
}
$result = mysql_query($query,$link) or die('Query Error'.mysql_error());
?>
<!-- HTML CODE STARTS HERE -->
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="qc_style.css" />
<link href='http://fonts.googleapis.com/css?family=Days+One' rel='stylesheet' type='text/css' />
</head>
<body>
<?php
$row = mysql_fetch_assoc($result);
$row_count = mysql_num_rows($result);
echo $row;
echo $row_count;
if($row_count!=0){
echo "<table>";
while($row = mysql_fetch_assoc($result))
{
echo "<tr><td>";
foreach($row as $value)
{
echo $value;
echo "</td><td>";

}
echo "<a href=\"qc_campedit.php?id=".$row['call_id']."\">Edit</a></td></tr>";
}
echo "</table>";
} //end of if statement
else {echo " Sorry, No records match your query";}
?>
</body>
</html>

我的数据库中有两行日期为 2011-08-25 的数据和一行数据为日期 2011-08-24。

  • 当我将开始日期和结束日期指定为 2011-08-24 时,我没有得到任何结果回应。
  • 但是,当我将开始日期和结束日期指定为 2011-08-25 时,我只获取属于2011-08-25的一行数据
  • 当我将开始日期指定为 2011-08-24 并将结束日期指定为2011-08-25,我得到了属于2011-08-25的两行数据和属于2011-08-25的行。
  • 但是,当我将开始日期和结束日期指定为 2011-08-23 时,我会获取属于 2011-08-23 的所有 20 行数据

注意:该特定时间范围的 $result 中的数组数量正确显示。即,2011-08-24 的 $row_count = 1 和 2011-08-24 的 $row_count = 2

如何解决这个问题?提前致谢。

最佳答案

如果您想选择更少的列,请不要使用“SELECT * FROM...”,而是使用“SELECT name_of_col_A, name_of_col_B FROM table...”。

此外,我建议清理您通过 $_REQUEST 接受的日期字符串并将其传递到您的查询中。类似于

$start_date = date("Y-m-d", strtotime($_REQUEST["date3"]));

应该足够了。

关于PHP + MySQL 查询 : Unexpected results (for small number of results only),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7181190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com