$res = $mysqli->query("SELECT AnhID FROM anhoriga WHERE PNr='".$_POST['PNR2']."'");
while($row = $res->fetch_assoc()){
$anhid = array_shift($row);
}
$res = $mysqli->query("INSERT INTO samband2 VALUES(".$anhid.", ".$_POST['PNR'].")");
这段代码告诉我这个错误行:
>Notice: Undefined variable: anhid in C:\xampp\htdocs\skapa.php on line 18.
最后一行代码是第18行。
我是傻瓜,还是我没有在前面的代码中定义变量$anhid
???
具体来说,我正在创建一个员工注册,连接到一个包含所有相关信息的数据库。
$anhid
作为回报是变量(和数据库中的主键),其中包含每个熟人员工的唯一ID。
$_POST['PNR2']
包含熟人的社会安全号码。
anhoriga
是一张表,拼写正确。
请有人解释我做错了吗?
答案 0 :(得分:0)
如果第一个查询中的$ res-> fetch_assoc()中没有行,那么您就不会定义$ anhid。
另一个想法,你可能需要将你的mysql插入到while循环中,这样就可以对$ anhid的每个值执行,而不仅仅是最后一个。
答案 1 :(得分:0)
declare anhid . looks like your sql is not returning any data. thats why anhid is not getting set.
var $anhid ="";
$res = $mysqli->query("SELECT AnhID FROM anhoriga WHERE PNr='".$_POST['PNR2']."'");
while($row = $res->fetch_assoc()){
$anhid = array_shift($row);
}
if(!empty($anhid)){
$res = $mysqli->query("INSERT INTO samband2 VALUES(".$anhid.", ".$_POST['PNR'].")");
}
如果您认为有多个anhid,那么您应该将插入放在while循环中,或者如果您的select只返回一行,那么您不需要while循环。