0
我有一个相当复杂的mysqli插入语句来做,因为我需要从另外两个表中收集数据,并且还可以在一个语句中使用一些可用于php的变量。高级MySQLi查询语法
由于准备好的语句的变量顺序,我感到困惑。 - 我只插入四个值,但为了获得t1和t2的值,我还在bind_param语句中引用了这三个附加变量。
我应该填充jobRoleID,companyID,DepartmentID的,competenceID与$ newJobRoleID,$ newCompanyID,t1.id,t2.id
$addJobCompetencies = $con->prepare("
INSERT INTO jobRoleCompetencies (jobRoleID,companyID,departmentID,competenceID)
WITH t1 AS (SELECT id FROM departments WHERE companyID = ? AND department = ?),
t2 AS (SELECT id FROM competencies WHERE companyID = ?)
SELECT ?,?,t1.id,t2.id FROM t1,t2");
if($addJobCompetencies) {
$addJobCompetencies->bind_param('isiii', $newCompanyID,$row['department'],$newCompanyID,$newJobRoleID,$newCompanyID);
$addJobCompetencies->execute();
} else {
echo $con->error;
}
$addJobCompetencies->free_result();
我得到一个语法错误,但我不是100%确定为什么。谁能帮忙?
感谢 丹