У меня есть некоторые проблемы при использовании оператора prepare, потому что я никогда не использовал его раньше. Мой код
$maxid = $rowid['product_id'];
$reset = "ALTER TABLE streamyxup AUTO_INCREMENT = $maxid";
$stmt = $conn->PREPARE($reset);
$query->EXECUTE;
DEALLOCATE PREPARE stmt;
Вы должны изменить свой код, как показано ниже, чтобы использовать подготовленный MySQL оператор
$maxid = $rowid['product_id'];
$reset = "ALTER TABLE streamyxup AUTO_INCREMENT = ?";
$stmt = $conn->prepare($reset);
$stmt->bind_param("i", $maxid);
$stmt->execute();
РЕДАКТИРОВАТЬ
Вы смешиваете объектно-ориентированный и процедурный путь mysql. измените код подключения, как показано ниже
session_start();
$conn = new mysqli("103.6.xxx.xxx", "Miow", "xxow2!", "pe_tm");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
SELECT MAX(autoincrement_field) + 1 FROM streamyxup INTO @maxautoinc;
ALTER TABLE streamyxup AUTO_INCREMENT = @maxautoinc;
А ТАКЖЕ
SELECT @max := MAX(ID)+ 1 FROM streamyxup;
PREPARE stmt FROM 'ALTER streamyxup ABC AUTO_INCREMENT = ?';
EXECUTE stmt USING @max;
DEALLOCATE PREPARE stmt;