Поэтому я взглянул на ЗДЕСЬ , но это кажется немного запутанным для простоты того, что я делаю. В максимуме я бы имел дело со сто элементов для обновления (и большую часть времени это будет больше похоже на 40 )
В настоящее время у меня есть что-то вроде этого
$sql_update = ''; for($x = 0; $x < count($nodes); $x++){ if($nodes[$x]['loaded'] == 'true'){ if($nodes[$x]['changed'] == 'true'){ $sql_update .= 'UPDATE `genetic_decomp`.`tbl_node2view` SET `x` = "'.$nodes[$x]['location']['x'].'", `y` = "'.$nodes[$x]['location']['y'].'" WHERE `tbl_node2view`.`id` = "'.$nodes[$x]['id'].'";'; $sql_update .= 'UPDATE `genetic_decomp`.`tbl_nodes` SET `name` = "'.$nodes[$x]['name'].'", `type` = "'.$nodes[$x]['type'].'" WHERE `tbl_nodes`.`node_id` = "'.$nodes[$x]['id'].'";'; } } } if($sql_update != ''){ $sql_result=mysql_query($sql_update,$connection) or exit("Sql Error".mysql_error()); }
Теперь, когда я получаю его, чтобы распечатать вывод только в echo $sql_update
а затем вставить вывод в поле SQL в MAMP, он отлично работает. Проходит и обновляет строки в двух таблицах, которые я хочу
однако, когда я запускаю вышеуказанный код, он плюет обратно:
Sql Error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE `genetic_decomp`.`tbl_nodes` SET `name` = "lala", `type` = "p" WHERE `tbl' at line 1
Что я делаю не так? есть ли лучший способ сделать это?