0
我有出现的声音,但是当一个变量是空库MySQLi bind_param UPDATE不是空值工作
$stmtEmploymentDetails = getDB()->prepare(
'UPDATE EmploymentDetails SET BranchOffice=?, EmploymentDate=?, EmploymentStatus=?, EmploymentType=?, OrdinaryHours=?, JobClassification=?, ManagmentGroupID=? WHERE EmployeeID=?'
);
,并结合PARAM不会更新表下面的MySQL查询
$stmtEmploymentDetails->bind_param(
'ssiiisss',
$branchOffice,
$employmentDate,
$employmentStatus,
$employmentType,
$ordinaryHours,
$jobClassification,
$managmentGroupID,
$employeeID
);
$stmtEmploymentDetails->execute;
我有也尝试使用COALESCE
但值(我假设)为空不为空
$stmtEmploymentDetails = getDB()->prepare(
'UPDATE EmploymentDetails SET BranchOffice=COALESCE(BranchOffice=?, BranchOffice), EmploymentDate=COALESCE(EmploymentDate=?, EmploymentDate), EmploymentStatus=COALESCE(EmploymentStatus=?, EmploymentStatus), EmploymentType=COALESCE(EmploymentType=?, EmploymentType), OrdinaryHours=COALESCE(OrdinaryHours=?, OrdinaryHours), JobClassification=COALESCE(JobClassification=?, JobClassification), ManagmentGroupID=COALESCE(ManagmentGroupID=?, ManagmentGroupID) WHERE EmployeeID=?'
);
同样的方法不工作在一个较小的查询任何问题
$stmtEmployeeProfile = getDB()->prepare(
'UPDATE EmployeeProfiles SET AKAName=? WHERE EmployeeID=?'
);
和
$stmtEmployeeProfile->bind_param(
'ss',
$AKAName,
$employeeID
);
$stmtEmployeeProfile->execute();
但在查询中的值总是提供。 任何人都知道问题在哪里?
如果可能,你可以显示出现的错误? –
刚刚更新了问题以澄清问题。它将在没有警告的情况下执行,但不会更新表格。我会考虑添加一些与“不适用”相关的内容,看看是否能解决问题。 –
如果您没有默认值,它会一直抱怨,只要确保您在每种情况下都有正确的检查,例如空,空,流行或不正确的值 –