我想使用第一个查询的de result插入第二个查询,sintaxis中没有错误。
我一直在阅读很多内容,但似乎有效。
帮助!
$sql = "CALL sp_producto(1);";
$rs = $mysqli->query($sql);
$idNuevo;
if ($fila = $rs->fetch_assoc()) {
$idNuevo = $fila['idNew']; //recupera el id del insertado
$talleres = explode(",", $_POST["proceso_prod"]);
foreach ($talleres as $t) {
//THIS DOESN'T WORK BUT IDONT KNOW WHY
$sql = "INSERT INTO proceso_produccion () VALUES (" . $idNuevo . ", ".$t.")";
echo $sql;
$mysqli->query($sql);
}
}
答案 0 :(得分:0)
INSERT INTO proceso_produccion () VALUES (" . $idNuevo . ", ".$t.")
这一行是个问题,如果要在所有表格列中插入值,则无需使用此()
,将您的代码更改为:
INSERT INTO proceso_produccion VALUES (" . $idNuevo . ", ".$t.")
但是如果只插入某个列,则必须指定列名
像这样: INSERT INTO proceso_produccion ('firstColumn','anotherColumn') VALUES (" . $idNuevo . ", ".$t.")
答案 1 :(得分:0)
Niang回答正确,但也要检查您输入的两个值是否为整数。否则,应该用引号括起来:
INSERT INTO proceso_produccion ('firstColumn','anotherColumn') VALUES ('" . $idNuevo . "', '".$t."')
此外,这种情况并非真实情况:
if ($fila = $rs->fetch_assoc()) {
您只是以这种方式为$ fila分配值。它应该是:
if ($fila == $rs->fetch_assoc()) {
最后,如果查询仍然不起作用,请发表echo echo查询,echo $ sql的结果。