$sql = "DELETE FROM `library_test`; ALTER TABLE `library_test` AUTO_INCREMENT=0;\n";
$st = $this->conn->prepare("CREATE TABLE IF NOT EXISTS `test_a` (`id` INT NOT NULL, `name` VARCHAR(45) NULL, PRIMARY KEY (`id`));\nDELETE FROM `test_a`;\n".
"INSERT INTO `test` VALUES(1, 'A'), (2, 'B');");
$conn = $this->em->getConnection();
$conn->query("DELETE FROM `library_test`");
$conn->query("ALTER TABLE `library_test` AUTO_INCREMENT=0");
$values = "";
$params = [];
for ($i = 0; $i < count($data); $i++) {
/* Удаление строк с недостаточным числом ячеек либо отсутствующими id,
а также с пустыми названиями */
/* Вставка данных */
$values .= $values ? "," : "";
$values .= "(?,?, NOW())";
array_push($params, $data[$i][0], $data[$i][1]);
}
/* Если у нас нет строк, то ничего делать не нужно */
if ($values) {
$sql = "INSERT INTO `library_test` VALUES $values";
$conn->prepare($sql)->execute($params);
}
Надо делать именно проверку,
Важно Именно цифровое значение, по ним определяется дальнейшее использование содержимое переменных.
Ну то есть как оно в бинарных пакетах уходит я конечно не смотрел, а в General Log, в зависимости от режима эмуляции PDO, либо query, либо prepare-execute-close stmt