IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Insertion données avec mysqli


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut Insertion données avec mysqli
    bonjour

    ayant eu l'habitude des requetes mysql j'ai voulu changé pour mysql

    donc ma nouvelle requete est donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $qu = "INSERT INTO albums(id,id_user,lien, miniature, photodp) VALUES ('', '$idcon','$filename','$filename1','$filename2')";
    $qus = $conn->query($qu);

    cette requete par contre fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $time = time();
    $query= "UPDATE membre SET connexion = '$time' WHERE id = '$id_con'";
    $query = $conn->query($query);
    mais l'insertion ne marche pas alors que j'applique la mêmee méthode avec des updates et cela fonctionne niquel

  2. #2
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Dans id on met '' lors de l'insert ?,
    ça c'est déjà étrange ...
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    elle marchait avant comme ça, sur cette requete il s'agit d'un upload de photo voila la page complete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    <?php
    include("mysqlcon.php");
    function getExtension($str) 
    {
     
             $i = strrpos($str,".");
             if (!$i) { return ""; } 
             $l = strlen($str) - $i;
             $ext = substr($str,$i+1,$l);
             return $ext;
    }
    if(isset($_FILES["photodp"]))
    {
    	define ("MAX_SIZE",	"4000000");
    	$errors	=	0;
    	$filename		=	$_FILES["photodp"]["name"];
    	$uploadedfile 	= 	$_FILES['photodp']['tmp_name'];
    	$type_file 		= $_FILES['photodp']['type'];
    	if ($filename) 
    	{
    		if( !is_uploaded_file($uploadedfile) )
    		{
    			echo "<script type='text/javascript'>alert(\"le fichier est introuvable\")</script>"; 
    echo ("Fichier introuvable");
     
    		}
    		// on vérifie maintenant l'extension
    		elseif( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') && !strstr($type_file, 'png'))
    		{
    			exit("Le fichier n'est pas une image");
    echo ("Le fichier n'est pas une image");
     
    		}
    		else
    		{
     
    			$size		=	filesize($_FILES['photodp']['tmp_name']);
    			if ($size > MAX_SIZE*1024)
    			{echo ("vérifié la taille de image");
     
    				exit ("verifier la taille de votre image!!");
    				$errors=1;
    			}
    			$extension 	= 	getExtension($filename);
    			$extension 	= 	strtolower($extension);
    			if($extension=="jpg" || $extension=="jpeg" )
    			{
    				$uploadedfile 	= 	$_FILES['photodp']['tmp_name'];
    				$src 			= 	imagecreatefromjpeg($uploadedfile);
    			}
    			else if($extension=="png")
    			{
    				$uploadedfile 	= 	$_FILES['photodp']['tmp_name'];
    				$src 			= 	imagecreatefrompng($uploadedfile);
    			}
    			else 
    				$src 	= 	imagecreatefromgif($uploadedfile);
     
    			list($width,$height)	=	getimagesize($uploadedfile);
     
    			$newwidth	=	640;
    			$newheight	=	486;
    			$tmp		=	imagecreatetruecolor($newwidth,$newheight);
     
    			$newwidth1	=	140;
    			$newheight1	=	93;
    			$tmp1		=	imagecreatetruecolor($newwidth1,$newheight1);
     
     
    			$newwidth2	=	300;
    			$newheight2	=	($height/$width)*$newwidth2;
    			$tmp2		=	imagecreatetruecolor($newwidth2,$newheight2);
     
     
    			imagecopyresampled($tmp, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
     
    			imagecopyresampled($tmp1, $src, 0, 0, 0, 0, $newwidth1, $newheight1, $width, $height);
     
    			imagecopyresampled($tmp2, $src, 0, 0, 0, 0, $newwidth2, $newheight2, $width, $height);
     
    			imagecopyresampled($tmp2, $src, 0, 0, 0, 0, $newwidth2, $newheight2, $width, $height);
     
    			 $name = "deuxtoiamoi-com";
     
    		$idcon = $_SESSION["id_user"];
            $dest_fichier = '' .time(). '' .$name. '.' .$extension;
    		$filename 	= 	"upload/". $dest_fichier;
    		$filename1 	= 	"upload/small_". $dest_fichier;
    		$filename2 	= 	"upload/photodp_". $dest_fichier;
     
    $q = "UPDATE membre SET photo_profil = '$filename2' where id = '$idcon'";
    $q = $conn->query($q);
    		$qu = "INSERT INTO albums(id,id_user,lien, miniature, photodp) VALUES ('', '$idcon','$filename','$filename1','$filename2')";
    $qu = $conn->query($qu);
    			imagejpeg($tmp,$filename,100);
    			imagejpeg($tmp1,$filename1,100);
    			imagejpeg($tmp2,$filename2,100);
     
    			imagedestroy($src);
    			imagedestroy($tmp);
    			imagedestroy($tmp1);
    			imagedestroy($tmp2);
    		}
    	}
     
    } else {
    	echo("Mauvais fichier");
    }
     
    ?>

    cette requete par exemple fonctionne parfaitement sur un ajout sur la liste de contact :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $qui = "INSERT INTO friends(id,idmoi,idami,date,etat) VALUES ('', '$ids','$id_rec','$dure','0')";
    		$res = $conn->query($qui);

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    je viens de faire un test mes photos sont bien enregistré sur mon serveur mais ne s'enregistre pas dans la bdd depuis la migration vers mysqli.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $idcon = $_SESSION["id_user"];
            $dest_fichier = '' .time(). '' .$name. '.' .$extension;
    		$filename 	= 	"upload/". $dest_fichier;
    		$filename1 	= 	"upload/small_". $dest_fichier;
    		$filename2 	= 	"upload/photodp_". $dest_fichier;
     
    $q = "UPDATE membre SET photo_profil = '$filename2' where id = '$idcon'";
    $q = $conn->query($q);
    $qu = "INSERT INTO albums(id,id_user,lien, miniature, photodp) VALUES ('','$idcon','$filename','$filename1','$filename2')";
    $qu = $conn->query($qu);

  5. #5
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Tester ceci (si je ne me goure pas dans la syntaxe ;-)

    1)Rajouter un
    2)Tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $qu = "INSERT INTO albums(id,id_user,lien, miniature, photodp) VALUES ('', '.$idcon.','.$filename.','.$filename1.','.$filename2.')";
    echo $qu;
    3) Affichage erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $conn = mysqli_connect("localhost", "my_user", "my_password", "db_name");
    $qu = "INSERT INTO albums(id,id_user,lien, miniature, photodp) VALUES ('', '.$idcon.','.$filename.','.$filename1.','.$filename2.')";
    mysqli_query($conn,$qu) or die(mysqli_error($conn));
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 956
    Points : 44 116
    Points
    44 116
    Par défaut
    Bonjour,
    ayant eu l'habitude des requetes mysql j'ai voulu changé pour mysql
    sans vouloir jouer les oiseaux de mauvaises augures autant passer à PDO
    • Discussion sur le forum : PDO vs MySQLI

  7. #7
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    effectivement depuis la mise à jour du serveur la session n'était plus reconnu et par conséquence l'id de l'user.

    Merci vttman pour ce petit rappel de echo.


    Pour répondre à nosmokings comme indiqué sur la discutions affiché PDO est bien pour les nouveaux sites . Pour mettre à jour un ancien site c'est plutôt mysqli vue sa simplicité.

    étant donné que j'ai plus de 100 pages actuellement et d'autres qui vont se rajouté ça fait du gros boulot de passé vers PDO.

    je me met déjà à jour sur mysqli puis une chose après l'autre

  8. #8
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Citation Envoyé par toulousain3117 Voir le message
    Merci vttman pour ce petit rappel de echo.
    Ah désolé si je suis un peu lourd parfois (souvent ) mais je ne vérifie
    pas toujours qui poste en tant que quoi ... le tout pour moi
    c'est de faire avancer le schmilblick
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  9. #9
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    c'étais un merci sincére car avec ton echo, j'ai pu voir en retour que l'id de l'user n'étais pas reconnu, étant donné que l'envoi de la requete se passe par jquery j'ai du aussi modifié le js pour avoir l'alert de la réponse

  10. #10
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Ah parfait !
    Merci pour ton retour
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] probleme avec mysqli->insert_id()
    Par mickaelf dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 11/12/2009, 16h50
  2. [MySQL] [MySQLi] Probleme envoi avec Mysqli send long data
    Par hack-sel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/08/2008, 12h36
  3. Réponses: 1
    Dernier message: 11/08/2005, 01h26
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo