Search code examples
phpmysqlmysqliprepared-statementmysqli-multi-query

multi query with prepared statements


I am trying understand how multi queries work in mysqli. But I confess that is not easy to understand.

Basically how I can do these queries in a multi query? The page doesn't talk about prepared statements in multi queries.

($sql = $db -> prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)"));
$sql -> bind_param('sss', $name, $email, $hash);
$sql -> execute();

($sq = $db -> prepare("INSERT INTO activation_link_password_reset  (activation_link) VALUES (?)"));
$sq -> bind_param('s', $linkHash);
$sq -> execute();

Solution

  • You can't use prepared statements there, and the speedup is also negligible, so go for the easier to debug seperate queries.

    If you really want to do it in 1 call with prepared statements, create a PROCEDURE (even more difficult to debug...), and prepare CALL(:param1,:param2);.