Php 如何为Mysql获取阵列排除此显示错误
它显示了这个错误 警告:mysql_fetch_数组期望参数1是资源,布尔值在第18行的C:\wamp\www\ocwconnection\user\search.php中给出 我无法理解为什么会发生这种情况,因为我在许多文件中都有相同的代码,但请帮助我,谢谢Php 如何为Mysql获取阵列排除此显示错误,php,mysql,date,search,Php,Mysql,Date,Search,它显示了这个错误 警告:mysql_fetch_数组期望参数1是资源,布尔值在第18行的C:\wamp\www\ocwconnection\user\search.php中给出 我无法理解为什么会发生这种情况,因为我在许多文件中都有相同的代码,但请帮助我,谢谢 您忘记注释这个var_dump$查询;出口在那之后,它应该会工作。我猜您的mysql\u查询中有一个错误。请参见mysql\u查询的文档 对于返回resultset的SELECT、SHOW、description、EXPLAIN和其他语句
您忘记注释这个var_dump$查询;出口在那之后,它应该会工作。我猜您的mysql\u查询中有一个错误。请参见mysql\u查询的文档 对于返回resultset的SELECT、SHOW、description、EXPLAIN和其他语句,mysql_query在成功时返回资源,在出错时返回FALSE
因此,我猜您的$query变量中有一个FALSE。在获取行之前总是检查输出。您的查询中有一些错误 尝试这样做:
if(!$query)
{
echo mysqli_error();
}else{
while( $row = mysqli_fetch_array( $query ) )
{
//fetch rows
}
这样做会让您知道确切的错误。避免使用mysql,而是使用mysqli您的SQL查询是错误的
SELECT * FROM ocwconnections WHERE FormDistributionDate BETWEEN `fromdate` AND `todate`
被`包围的字符串被视为列名。看起来你需要一个变量
$fromdate = $_GET['fromdate'];
$todate= $_GET['todate'];
$sql = "SELECT * FROM ocwconnections WHERE `FormDistributionDate` BETWEEN $fromdate AND $todate ";
这不应该测试
请记住,这将为SQL注入打开脚本。切换到mysqli_*函数或PDO并使用准备好的语句。如果这是脚本甚至不会运行mysql_fetch_array命令的原因,请在mysql_查询后运行echo mysql_error。请记住,mysql_*函数正逐渐被弃用,但它并没有显示数据库表中的数据是空的。
$fromdate = $_GET['fromdate'];
$todate= $_GET['todate'];
$sql = "SELECT * FROM ocwconnections WHERE `FormDistributionDate` BETWEEN $fromdate AND $todate ";