我不明白为什么在一个字段不存在的操作上mysqli_query会返回true。当字段run_id与变量$id匹配时,我正在尝试UPDATE一个字段。但是,如果未设置$id,则会执行if语句中的回显。会非常感谢你对这一现象的看法。
function sumMiles($id,$runnerRow,$weekArray,$cnn){
//Calculate cumulative miles per week for every runner
$weekMiles=0; //total miles per week
foreach($weekArray as $weekday)
{
$weekMiles+=$runnerRow[$weekday];
}
$addMiles = "UPDATE run SET weekly_total = {$weekMiles} WHERE run_id=$id";//add weekly total into the database's run table
if (mysqli_query($cnn,$addMiles)){
echo "Your weekly total has been updated";
return $weekMiles;
}
else {echo "Your weekly total could not be updated";}
}我像这样调用这个函数:
$weekMiles = sumMiles($id,$dailyMileage,$weekArray,$cnn);发布于 2018-01-31 03:39:39
这一行不存在的事实不会在数据库中产生任何异常。
在运行更新之前,首先验证该行是否存在
select count(1) from run WHERE run_id=$id编辑
需要检查Count(1)是否大于0
$query = "SELECT count(1) from run WHERE run_id=$id";
if (mysqli_query($cnn,$query)>0){
$addMiles = "UPDATE run SET weekly_total = {$weekMiles} WHERE run_id=$id";
echo "updated";
}https://stackoverflow.com/questions/48529187
复制相似问题