Intereting Posts

Можно использовать несколько / вложенных операторов MySQLi?

Возможно ли иметь MySQLi prepared statement в вызове fetch() предыдущего оператора? Если нет, то как лучше всего это сделать?

Пример кода:

 if($stmt = $link->prepare("SELECT item FROM data WHERE id = ?")) { $stmt->bind_param("i", $id); $stmt->execute(); $stmt->bind_result($item); while( $stmt->fetch() ) { /* Other code here */ $itemSummary = $item + $magic; if($stmt2 = $link->prepare("INSERT INTO summaries (itemID, summary) VALUES (?, ?)")) { $stmt2->bind_param("is", $itemID, $itemSummary); $stmt2->execute(); $stmt2->close(); } } } 

Related of "Можно использовать несколько / вложенных операторов MySQLi?"

Вы должны это сделать, хотя вам нужно начать второе соединение.

Это единственный способ подключения:

 if($stmt = $link->prepare("SELECT item FROM data WHERE id = ?")) { $stmt->bind_param("i", $id); $stmt->execute(); $stmt->store_result(); // <-- this $stmt->bind_result($item); while( $stmt->fetch() ) { /* Other code here */ $itemSummary = $item + $magic; if($stmt2 = $link->prepare("INSERT INTO summaries (itemID, summary) VALUES (?, ?)")) { $stmt2->bind_param("is", $itemID, $itemSummary); $stmt2->execute(); $stmt2->store_result(); // <-- this /*DO WHATEVER WITH STMT2*/ $stmt2->close(); } } } 

Или используйте store_result .