Warning:mysql_fetch_array() expects parameter 1 to be resour

Warning:mysql_fetch_array() expects parameter 1 to be resource boolean given in
第一次运行会出现这个,但是刷新之后就没事儿了,更奇怪的是之后多次运行都没事儿,忽然某一次运行又出现这个错误提示.再次刷新,又没事儿了.这是为什么?
代码如下
require("connect.php"); //Connecting to database.
$db_name = "PatientDatabase";
mysql_select_db($db_name); //Select patient database.
//Query to check patient enrollment timestamp.
$query = "SELECT * FROM patienttable";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
$date_time = strtotime($row['Timestamp']);
$phone_number = $row['PhoneNumber'];
$first_name = $row['FirstName'];
$last_name = $row['LastName'];
$days = $row['Days'];
$expire_day = $row['ExpireDay'];
$status = $row['Status'];
$pid = $row['user_ID'];
.......................................
}
每次错误都是提示While行出现问题
油深深饼蒙蒙 1年前 已收到2个回答 举报

dvd_dvddvd 幼苗

共回答了14个问题采纳率:85.7% 举报

你需要判断一下$result是不是一个正确的返回,因为某些原因$result不是数据库返回资源的时候,就会出现错误了.
在while外面加一个if判断$result就行了

1年前 追问

8

油深深饼蒙蒙 举报

能给详细说一下,什么时候$result有可能出现不正确的返回么,按照错误提示,它应该是返回了个空值。我的这个程序中,$result是不应该返回空值而且也不允许返回空值的,所以我之前调取数据库是用的SELECT * FROM patienttable 另外你说加if语句,是指if($result非空),是这个么意思么?

举报 dvd_dvddvd

是这个意思。不一定你的SQL可执行就会返回正确的值。例如连接数据库失败,例如查询超时等等原因。所以,判断结果是否正确是必要的

油深深饼蒙蒙 举报

那如何判断结果是否正确呢?那个if怎么加?我的情况是,我需要把数据库里的一类ID数据 每天自动加一,我是用的TASK,让它每天自动run一遍程序,所以就算返回值有问题,我也想确保ID数据仍会自动+1

举报 dvd_dvddvd

if($result) { while代码 }

尤本kiki 幼苗

共回答了1个问题 举报

第一次出现的解释为:警告:mysql_fetch_array()预计参数是资源布1屈服了
代码解释为:要求(“connect.php”);/ /连接到数据库。
db_name美元= " PatientDatabase”;
mysql_select_db($ db_name);/ /选择患者数据库。
/ /查询检查病人登记表时间。
质疑美元= "选择*从pat...

1年前

0
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 6.390 s. - webmaster@yulucn.com