gpt4 book ai didi

php - 无法在 PHP 中触发 SQL 请求

转载 作者:可可西里 更新时间:2023-11-01 08:40:24 25 4
gpt4 key购买 nike

我有一个用户可以用来更新对象的表单。该对象有 5 个 img 属性。所以在修改时我想更新数据库。我希望函数只更新用户在表单中更改的图像(数据库中的属性(img、img2、img3、img4、img5)。

这是表单提交的更新函数:

public function updateOutil()
{

$o = new Outillage($_POST["art"]);
$o->__set("id", $_POST["id"]);
$o->__set("id_art", $_POST["id_art"]);
$o->__set("article", $_POST["art"]);
$o->__set("id_doc", $_POST["id_doc"]);
$o->__set("document", $_POST["doc"]);
$o->__set("ilot", ilot::findAllByName($_POST["ilot"]));
$o->__set("emplacement", $_POST["emplacement"]);
$o->__set("liste_tubes", $_POST["liste_tubes"]);

define('TARGET', $_SERVER['DOCUMENT_ROOT'].'imageOutil/'); // Repertoire cible
define('MAX_SIZE', 5300000); // Taille max en octets du fichier
define('WIDTH_MAX', 5000); // Largeur max de l'image en pixels
define('HEIGHT_MAX', 5000); // Hauteur max de l'image en pixels
// Tableaux de donnees
$tabExt = array('jpg','gif','png','jpeg'); // Extensions autorisees
$infosImg = array();
// Variables
$extension = '';
$nomImage = '';
$message='';
$cpt='';
/************************************************************
* Creation du repertoire cible si inexistant
*************************************************************/
if( !is_dir(TARGET) ) {
if( !mkdir(TARGET, 0755) ) {
exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !');
}
}
/************************************************************
* Script d'upload
*************************************************************/
if(!empty($_POST['image']))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = getimagesize($_FILES['fichier']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE))
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier']['error'])&& UPLOAD_ERR_OK === $_FILES['fichier']['error']){
// On nomme le fichier
$nomImage=$_POST['image'];
//On verifie qu'aucun fichier du même nom existe
if(!file_exists (TARGET.$nomImage)) {
// Si c'est OK, on teste l'upload
try{
move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET . $nomImage);
$o->__set("image", 'imageOutil/'. $nomImage); //TARGET . $nomImage => D:/Documents and Settings/raphael.delric/Mes documents/Mes Outils Personnels/*/UwAmp/www//imageOutil/*
$message1= '<br/>L\'opération a été effectuée avec succès!';
} catch (Exception $e) {
// Sinon on affiche une erreur systeme
$o->__set("image", 'imageOutil/'. $nomImage . time());
$message1= '<br/>Problème lors de l\'enregistrement de l\'image 1 !';
$message1.= $e->getMessage();
}
}
else{
$newNomImage= date('His',time()). $nomImage;
move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET . $newNomImage);
$o->__set("image", 'imageOutil/' . $newNomImage);
$message1= '<br/>Un fichier image du même nom que image 1 est déjà existant.';
$message1.= '<br/>L\image a donc été enregistrée comme suis [heures:minutes:secondes][votre nom de fichier].[votre extension]. '.$newNomImage;
}
}
else
{
$message1= '<br/>Une erreur interne a empêché l\'enregistrement de l\'image';
$message1.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message1= '<br/>Erreur dans les dimensions de l\'image !';
$message1.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur le type de l'image
$message1= '<br/>Le fichier à uploader n\'est pas une image !';
$message1.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message1= '<br/>L\'extension du fichier est incorrecte ! Extension attendue : .jpg, .gif, .png, .jpeg';

}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message1= '<br/>Pas de Fichier ajouté pour l\'image 1 !';
$cpt.='A';
}

}
else{
$message1= '<br/>Vous n\'avez pas nommez l\'image 1 !';
}
$message=$message1;
if(!empty($_POST['image2']))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier2']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['fichier2']['name'], PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = getimagesize($_FILES['fichier2']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier2']['tmp_name']) <= MAX_SIZE))
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier2']['error'])&& UPLOAD_ERR_OK === $_FILES['fichier2']['error']){
// On nomme le fichier
$nomImage=$_POST['image2'];
//On verifie qu'aucun fichier du même nom existe
if(!file_exists (TARGET.$nomImage)) {
// Si c'est OK, on teste l'upload
try{
move_uploaded_file($_FILES['fichier2']['tmp_name'], TARGET . $nomImage);
$o->__set("image2", 'imageOutil/'. $nomImage); //TARGET . $nomImage => D:/Documents and Settings/raphael.delric/Mes documents/Mes Outils Personnels/*/UwAmp/www//imageOutil/*
$message2= '<br/>L\'opération a été effectuée avec succès!';
} catch (Exception $e) {
// Sinon on affiche une erreur systeme
$o->__set("image2", 'imageOutil/'. $nomImage . time());
$message2= '<br/>Problème lors de l\'enregistrement de l\'image 1 !';
$message2.= $e->getMessage();
}
}
else{
$newNomImage= date('His',time()). $nomImage;
move_uploaded_file($_FILES['fichier2']['tmp_name'], TARGET . $newNomImage);
$o->__set("image2", 'imageOutil/' . $newNomImage);
$message2= '<br/>Un fichier image du même nom que image 2 est déjà existant.';
$message2.= '<br/>L\image a donc été enregistrée comme suis [heures:minutes:secondes][votre nom de fichier].[votre extension]. '.$newNomImage;
}
}
else
{
$message2= '<br/>Une erreur interne a empêché l\'enregistrement de l\'image';
$message2.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message2= '<br/>Erreur dans les dimensions de l\'image !';
$message2.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur le type de l'image
$message2= '<br/>Le fichier à uploader n\'est pas une image !';
$message2.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message2= '<br/>L\'extension du fichier est incorrecte ! Extension attendue : .jpg, .gif, .png, .jpeg';

}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message2= '<br/>Pas de Fichier ajouté pour l\'image 2 !';
$cpt.='B';
}

}
else{
$message2= '<br/>Vous n\'avez pas nommez l\'image 2 !';
}
$message.=$message2;
if(!empty($_POST['image3']))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier3']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['fichier3']['name'], PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = getimagesize($_FILES['fichier3']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier3']['tmp_name']) <= MAX_SIZE))
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier3']['error'])&& UPLOAD_ERR_OK === $_FILES['fichier3']['error']){
// On nomme le fichier
$nomImage=$_POST['image3'];
//On verifie qu'aucun fichier du même nom existe
if(!file_exists (TARGET.$nomImage)) {
// Si c'est OK, on teste l'upload
try{
move_uploaded_file($_FILES['fichier3']['tmp_name'], TARGET . $nomImage);
$o->__set("image3", 'imageOutil/'. $nomImage); //TARGET . $nomImage => D:/Documents and Settings/raphael.delric/Mes documents/Mes Outils Personnels/*/UwAmp/www//imageOutil/*
$message3= '<br/>L\'opération a été effectuée avec succès!';
} catch (Exception $e) {
// Sinon on affiche une erreur systeme
$o->__set("image3", 'imageOutil/'. $nomImage . time());
$message3= '<br/>Problème lors de l\'enregistrement de l\'image 1 !';
$message3.= $e->getMessage();
}
}
else{
$newNomImage= date('His',time()). $nomImage;
move_uploaded_file($_FILES['fichier3']['tmp_name'], TARGET . $newNomImage);
$o->__set("image3", 'imageOutil/' . $newNomImage);
$message3= '<br/>Un fichier image du même nom que image 3 est déjà existant.';
$message3.= '<br/>L\image a donc été enregistrée comme suis [heures:minutes:secondes][votre nom de fichier].[votre extension]. '.$newNomImage;
}
}
else
{
$message3= '<br/>Une erreur interne a empêché l\'enregistrement de l\'image';
$message3.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message3= '<br/>Erreur dans les dimensions de l\'image !';
$message3.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur le type de l'image
$message3= '<br/>Le fichier à uploader n\'est pas une image !';
$message3.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message3= '<br/>L\'extension du fichier est incorrecte ! Extension attendue : .jpg, .gif, .png, .jpeg';

}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message3= '<br/>Pas de Fichier ajouté pour l\'image 3 !';
$cpt.='C';
}

}
else{
$message3= '<br/>Vous n\'avez pas nommez l\'image 3 !';
}
$message.=$message3;
if(!empty($_POST['image4']))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier4']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['fichier4']['name'], PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = getimagesize($_FILES['fichier4']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier4']['tmp_name']) <= MAX_SIZE))
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier4']['error'])&& UPLOAD_ERR_OK === $_FILES['fichier4']['error']){
// On nomme le fichier
$nomImage=$_POST['image4'];
//On verifie qu'aucun fichier du même nom existe
if(!file_exists (TARGET.$nomImage)) {
// Si c'est OK, on teste l'upload
try{
move_uploaded_file($_FILES['fichier4']['tmp_name'], TARGET . $nomImage);
$o->__set("image4", 'imageOutil/'. $nomImage); //TARGET . $nomImage => D:/Documents and Settings/raphael.delric/Mes documents/Mes Outils Personnels/*/UwAmp/www//imageOutil/*
$message4= '<br/>L\'opération a été effectuée avec succès!';
} catch (Exception $e) {
// Sinon on affiche une erreur systeme
$o->__set("image4", 'imageOutil/'. $nomImage . time());
$message4= '<br/>Problème lors de l\'enregistrement de l\'image 1 !';
$message4.= $e->getMessage();
}
}
else{
$newNomImage= date('His',time()). $nomImage;
move_uploaded_file($_FILES['fichier4']['tmp_name'], TARGET . $newNomImage);
$o->__set("image4", 'imageOutil/' . $newNomImage);
$message4= '<br/>Un fichier image du même nom que image 4 est déjà existant.';
$message4.= '<br/>L\image a donc été enregistrée comme suis [heures:minutes:secondes][votre nom de fichier].[votre extension]. '.$newNomImage;
}
}
else
{
$message4= '<br/>Une erreur interne a empêché l\'enregistrement de l\'image';
$message4.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message4= '<br/>Erreur dans les dimensions de l\'image !';
$message4.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur le type de l'image
$message4= '<br/>Le fichier à uploader n\'est pas une image !';
$message4.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message4= '<br/>L\'extension du fichier est incorrecte ! Extension attendue : .jpg, .gif, .png, .jpeg';

}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message4= '<br/>Pas de Fichier ajouté pour l\'image 4 !';
$cpt.='D';
}

}
else{
$message4= '<br/>Rien pour l\'image 4 !';
}
$message.=$message4;
if(!empty($_POST['image5']))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier5']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['fichier5']['name'], PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = getimagesize($_FILES['fichier5']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier5']['tmp_name']) <= MAX_SIZE))
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier5']['error'])&& UPLOAD_ERR_OK === $_FILES['fichier5']['error']){
// On nomme le fichier
$nomImage=$_POST['image5'];
//On verifie qu'aucun fichier du même nom existe
if(!file_exists (TARGET.$nomImage)) {
// Si c'est OK, on teste l'upload
try{
move_uploaded_file($_FILES['fichier5']['tmp_name'], TARGET . $nomImage);
$o->__set("image5", 'imageOutil/'. $nomImage); //TARGET . $nomImage => D:/Documents and Settings/raphael.delric/Mes documents/Mes Outils Personnels/*/UwAmp/www//imageOutil/*
$message5= '<br/>L\'opération a été effectuée avec succès!';
} catch (Exception $e) {
// Sinon on affiche une erreur systeme
$o->__set("image5", 'imageOutil/'. $nomImage . time());
$message5= '<br/>Problème lors de l\'enregistrement de l\'image 1 !';
$message5.= $e->getMessage();
}
}
else{
$newNomImage= date('His',time()). $nomImage;
move_uploaded_file($_FILES['fichier5']['tmp_name'], TARGET . $newNomImage);
$o->__set("image5", 'imageOutil/' . $newNomImage);
$message5= '<br/>Un fichier image du même nom que image 5 est déjà existant.';
$message5.= '<br/>L\image a donc été enregistrée comme suis [heures:minutes:secondes][votre nom de fichier].[votre extension]. '.$newNomImage;
}
}
else
{
$message5= '<br/>Une erreur interne a empêché l\'enregistrement de l\'image';
$message5.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message5= '<br/>Erreur dans les dimensions de l\'image !';
$message5.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur le type de l'image
$message5= '<br/>Le fichier à uploader n\'est pas une image !';
$message5.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message5= '<br/>L\'extension du fichier est incorrecte ! Extension attendue : .jpg, .gif, .png, .jpeg';

}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message5= '<br/>Pas de Fichier ajouté pour l\'image 5 !';
$cpt.='E';
}

}
else{
$message5= '<br/>Rien pour l\'image 5 !';
}
$message.=$message5;
$o->updateImg($cpt);
header('Location: /Site.php?a=outillage&b='.urlencode($message));
}

这里是 updateImg 函数,它应该按如下方式执行 sql 请求:

public function updateImg($cpt){
$c=Base::getConnection();
$posA=strpos($cpt,'A');
$posB=strpos($cpt,'B');
$posD=strpos($cpt,'C');
$posE=strpos($cpt,'D');
$posF=strpos($cpt,'E');
$q='UPDATE outillage SET id_art=:id_art, article=:article, id_doc=:id_doc, document=:document, ilot=:ilot, emplacement=:emplacement, liste_tubes=:liste_tubes';

if ($posA===false) {
$q.=", image=:image";
}
if ($posB===false){
$q.=", image2=:image2";
}
if ($posD===false){
$q.=", image3=:image3";
}
if ($posE===false){
$q.=", image4=:image4";
}
if ($posF===false){
$q.=", image5=:image5";
}
$q.="WHERE id=:id;";

$query=$c->prepare($q);
$query->bindParam(':id',$this->id,PDO::PARAM_INT);
$query->bindParam(':id_art',$this->id_art,PDO::PARAM_INT);
$query->bindParam(':article',$this->article,PDO::PARAM_STR);
$query->bindParam(':id_doc',$this->id_doc,PDO::PARAM_STR);
$query->bindParam(':document',$this->document,PDO::PARAM_STR);
$query->bindParam(':ilot',$this->ilot,PDO::PARAM_INT);
$query->bindParam(':emplacement',$this->emplacement,PDO::PARAM_STR);
$query->bindParam(':liste_tubes',$this->liste_tubes,PDO::PARAM_STR);

if ($posA===false){
$query->bindParam(':image',$this->image,PDO::PARAM_STR);
}
if ($posB===false){
$query->bindParam(':image2',$this->image2,PDO::PARAM_STR);
}
if ($posD===false){
$query->bindParam(':image3',$this->image3,PDO::PARAM_STR);
}
if ($posE===false){
$query->bindParam(':image4',$this->image4,PDO::PARAM_STR);
}
if ($posF==false){
$query->bindParam(':image5',$this->image5,PDO::PARAM_STR);
}
$query->execute();

我没有收到任何错误。但是当我测试这些时,我从 updateOutil() 得到了正确的“消息”,但我的数据库没有更新。我认为这是关于我如何“构建”我的 SQL 请求的问题。

我四处搜索,找不到任何有用的主题。由于几个小时以来我一直坚持这一点,我们将不胜感激 :-)

最佳答案

使用var_dump()查看您的变量并调试您的应用程序。如果出现问题,您至少应该得到一个异常(exception)。

关于php - 无法在 PHP 中触发 SQL 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34045620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com