В modelSlikeVrijednost
У меня есть ссылка на первичный ключ model
. ModelSlikeVrijednost
может содержать много изображений (зависит от пользователя). Мне нужно удалить папку на основе modelID
.PHP MySQL подготовленный оператор в подготовленном заявлении
Пример пути: /home/mainSite/public_html/site/img/1/1/
.
Возможно ли это?
Код:
if ($stmt = $mysqli->prepare("SELECT modelID FROM model WHERE proizvodacID='$id'")) {
$stmt->execute();
$stmt->bind_result($modelID);
while ($stmt->fetch()) {
$path="/home/mainSite/public_html/site/img/".$id."/".$modelID."/";
if ($stmt1 = $mysqli->prepare("SELECT modelSlikeVrijednost FROM modelSlike WHERE modelID='$modelID'")) {
$stmt1->execute();
$stmt1->bind_result($slike);
while ($stmt1->fetch()) {
if(is_null($slike)){
rmdir($path);
}
else{
$slikePath="/home/mainSite/public_html/site/".$slike;
if($slikePath!=$path){
unlink($slikePath);
}
rmdir($path);
}
}
$stmt1->close();
}
else {
printf("Prepared Statement Error: %s\n", $mysqli->error);
}
}
$stmt->close();
}
Я получаю эту ошибку : Prepared Statement Error: Commands out of sync; you can't run this command now Prepared Statement Error: Commands out of sync; you can't run this command now
Вы должны привязать переменные в подготовленных операциях. – jeroen
Результаты sql обычно возвращаются как объекты массива, а не строки. попробуйте повторить $ modelID и посмотреть, что появляется, прежде чем пытаться использовать его в другом выражении. –
@JeffHawthorne: Не когда используется mysqli :: bind_result, который привязывает значение столбца непосредственно к переменной PHP. – prodigitalson