代码:
Function ShowDataPatient($idURL)
{
$query =" select * from cmu_list_insurance,cmu_home,cmu_patient where cmu_home.home_id = (select home_id from cmu_patient where patient_hn like '%$idURL%')
AND cmu_patient.patient_hn like '%$idURL%'
AND cmu_list_insurance.patient_id like (select patient_id from cmu_patient where patient_hn like '%$idURL%') ";
$result = pg_query($query) or die('Query failed: ' . pg_last_error());
while ($row = pg_fetch_array($result))
{
$hn = $row["patient_hn"];
$pid = $row["patient_id"];
$datereg = $row["patient_date_register"];
$prefix = $row["patient_prefix"];
$fname = $row["patient_fname"];
$lname = $row["patient_lname"];
$age = $row["patient_age"];
$sex = $row["patient_sex"];
}
return array($hn, $pid, $datereg, $prefix, $fname, $lname, $age, $sex);
}
错误:
Notice: Undefined variable: hn in C:\xampp\htdocs\...
Notice: Undefined variable: pid in C:\xampp\htdocs\...
Notice: Undefined variable: datereg in C:\xampp\htdocs\...
Notice: Undefined variable: prefix in C:\xampp\htdocs\...
Notice: Undefined variable: fname in C:\xampp\htdocs\...
Notice: Undefined variable: lname in C:\xampp\htdocs\...
Notice: Undefined variable: age in C:\xampp\htdocs\...
Notice: Undefined variable: sex in C:\xampp\htdocs\...
我该怎么解决这个问题?
我猜你的查询没有按照预期运行,你正在使用未定义的变量返回行。
同样,在执行变量赋值的方式中,每次循环迭代都会覆盖相同的变量,因此不会返回整个结果集。
最后,返回数字键的结果集而不是关联键的结果集似乎很奇怪。考虑只命名SELECT中需要的字段,并保留键分配。所以像这样的事情:
Function ShowDataPatient($idURL){
$query =" select * from cmu_list_insurance,cmu_home,cmu_patient where cmu_home.home_id = (select home_id from cmu_patient where patient_hn like '%$idURL%')
AND cmu_patient.patient_hn like '%$idURL%'
AND cmu_list_insurance.patient_id like (select patient_id from cmu_patient where patient_hn like '%$idURL%') ";
$result = pg_query($query) or die('Query failed: ' . pg_last_error());
$return = array();
while ($row = pg_fetch_array($result)){
$return[] = $row;
}
return $return;
}
你也可以考虑打开一个关于如何改进你的查询的问题,这是不是很严重。
在while循环之前声明它们。
$hn = "";
$pid = "";
$datereg = "";
$prefix = "";
$fname = "";
$lname = "";
$age = "";
$sex = "";
因为变量是在循环中声明和赋值的,所以您得到了通知。
在函数的开头定义变量,这样如果没有记录,变量就存在,你就不会得到错误。检查返回数组中的空值。
$hn = null;
$pid = null;
$datereg = null;
$prefix = null;
$fname = null;
$lname = null;
$age = null;
$sex = null;
我有这行代码在PHP中读取一个文件的CSV格式与MySQL数据库的结构,并显示创建它所需的SQL代码。我在这里遇到的唯一问题是,我不能打印出主键变量,因为它说它没有定义,即使我之前定义了它。有人能帮我解释一下为什么会出现这个错误吗?这是我的代码:
我正在运行一个PHP脚本,并继续收到如下错误: 注意:第10行C:\wamp\www\myPath\index.php中未定义的变量:my_variable_name 注意:第11行未定义索引:my_index C:\wamp\www\myPath\index.php 第10行和第11行如下所示: 这些错误信息的含义是什么? 为什么他们突然出现?我曾经使用这个脚本多年,我从来没有遇到过任何问题。
我得到未定义的索引错误。我在同一个网站上看到了一个类似类型的问题。我无法修复这个错误,有人能帮助我吗
我安装了Ngnix服务器,并将其配置为: } 我收到以下错误(从我的error.log复制): 2015/12/16 00:27:37[错误]952#0:*9 FastCGI发送到stderr:“PHP消息:PHP通知:未定义索引:第245行/usr/share/nginx/html/admin interface/login.PHP中的用户名PHP消息:PHP通知:未定义索引:第249行/usr
我想把数据库放在Usbstick上,而不是放在我的Raspberrypi上。 首先我做了: > 服务mysql停止 mkdir/media/pi/emtec/mySQL nano/etc/mysql/my.cnf和更改的datadir=/media/pi/emtec/mysql CP-RV/var/lib/mysql/*/media/USB4/mysql/ Chown-r MySQL:MySQL/
问题内容: 我将使用ReadFile: 我该如何解决? 问题答案: 使用包名称限定它: