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 :

erreur de syntax php my sql [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Décembre 2014
    Messages : 7
    Par défaut erreur de syntax php my sql
    Bonjour tous le monde.
    je me permet de vous embêter un peu car cela fait maintenant 1 semaine que je cherche et je ne vois pas ou ça cloche...
    j'ai ce message d'erreur :
    Erreur SQL !UPDATE'client' SET 'nom' = 'Agence ERA', 'prenom' = 'Pascal', 'adresse' = '45 chemin de passe temps', 'cp_id' = '45410', 'tel_port' = '0661914459', 'tel1' = '+33661914459', 'autre_tel' = '0236700729', 'datenaissance' = '1970-02-07', 'genre' = '1', 'email' = 'marjoriepichard@gmail.com' WHERE 'id' = '13'
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPTADE 'client' SET 'nom' = 'Agence ERA', 'prenom' = 'Pascal', 'adress' at line 1

    comme vous pouvez le constater ma demande retourne bien toutes les informations voulu.
    Voici mon code de ma page modification l'information de l'ID vient d'une autre page via l'url

    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
    		if (!isset($_SESSION['login']))
    {
    		header ('Location: index.php');
    		exit();
    }
     
    ?>
    <?php
    $id = $_GET['id'];
    require_once "./includes/config.php";
    require_once "./includes/head.php";
     
    ?>
     
     
    </head>
     
    <body>
     
    <?php
     
    if (isset($_POST['modification']) && $_POST['modification'] == 'Modification') {
    	// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
    	if ((isset($_POST['nom']) && !empty($_POST['nom'])) && (isset($_POST['prenom']) && !empty($_POST['prenom'])) && (isset($_POST['adresse']) && !empty($_POST['adresse']))
    	&& (isset($_POST['tel1']) && !empty($_POST['tel1'])) && (isset($_POST['tel2']) && !empty($_POST['tel2']))
    	 && (isset($_POST['tel3']) && !empty($_POST['tel3'])) && (isset($_POST['mail']) && !empty($_POST['mail'])) && (isset($_POST['daten']) && !empty($_POST['daten']))) {
     
    		if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['mail'])) {
     
    		$erreur = 'l\'adresse mail fournie n\'est pas valide.';
     
    		}
     
     
    		$sql ="UPDATE'client' SET 
    		'nom' = '".mysqli_real_escape_string($connexion, $_POST['nom'])."',
    		'prenom' = '".mysqli_real_escape_string($connexion, $_POST['prenom'])."',
    		'adresse' = '".mysqli_real_escape_string($connexion, $_POST['adresse'])."',
    		'cp_id' = '".mysqli_real_escape_string($connexion, $_POST['id_cp'])."',
    		'tel_port' = '".mysqli_real_escape_string($connexion, $_POST['tel1'])."',
    		'tel1' = '".mysqli_real_escape_string($connexion, $_POST['tel2'])."',
    		'autre_tel' = '".mysqli_real_escape_string($connexion, $_POST['tel3'])."',
    		'datenaissance' = '".mysqli_real_escape_string($connexion, $_POST['daten'])."',
    		'genre' = '".mysqli_real_escape_string($connexion, $_POST['genre'])."',
    		'email' = '".mysqli_real_escape_string($connexion, $_POST['mail'])."'
    		WHERE 'id' = '$id'";
    		mysqli_query($connexion, $sql) or die('Erreur SQL !'.$sql.'<br />'.mysqli_error($connexion));
     
    		mysqli_close($connexion);
    		header ('Location: clients.php');
     
    	}
    	else {
     
    	$erreur = 'Au moins un des champs est vide.';
    	}
     
    }
     
    ?>		
    <?php
    $sql =  'SELECT id, nom, prenom, adresse, id_cp, cp, ville, tel1, tel_port, autre_tel, email, datenaissance, genre from client
    		LEFT OUTER JOIN cp_autocomplete ON client.cp_id = cp_autocomplete.id_cp WHERE id="'.$_GET['id'].'"' ;
    		$resultat =mysqli_query($connexion,$sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysqli_error());
    		$client=mysqli_fetch_array($resultat);
    		mysqli_close($connexion);
    ?>
    <form action="modifclient.php?id=<?php echo $id;?>" class="register" method="post">
    	<fieldset class="row1">
    		<legend>Client : <?php echo $client['nom'].' '. $client['prenom']; ?></legend>
    			<label>Titre : * </label>
    			<select class="date" name="genre" value="<?php echo $client['genre']; ?>">
    				<option value="1">Mr</option>
    				<option value="2">Mme</option>
    				<option value="3">Mlle</option>
    				<option value="4">Mr & Mme</option>
    				<option value="5">Dr</option>
    				<option value="6">Maitr</option>
    			</select>
    		</p>
    <p>
    <label for="nom">Nom client : *</label><input class="long" type="text" name="nom" value="<?php echo $client['nom']; ?>"/>
    <label for="prenom">Prènom : *</label><input class="long" type="text" name="prenom" value="<?php echo $client['prenom']; ?>"/>
    </p>
    <p>
    <label for="adresse">Adresse : *</label><input class="long" type="text" name="adresse" value="<?php echo $client['adresse']; ?>"/>
    <input id="id_cp" type="hidden" name="id_cp" value="<?php echo $client['id_cp']; ?>" />
    <label for="cp">Code postal : *</label><input id="cp" type="text" name="cp" value="<?php echo $client['cp']; ?>"/>
    </p>
    <p>
    <label for="ville">Ville : *</label><input id="ville" class="long" type="text" name="ville" value="<?php echo $client['ville']; ?>"/>
    <label for="tel1">Téléphone : *</label><input class="long" type="tel" name="tel1" value="<?php echo $client['tel1']; ?>"/>
    </p>
    <p>
    <label for="tel2">Portable : *</label><input class="long" type="tel" name="tel2" value="<?php echo $client['tel_port']; ?>"/>
    <label for="tel3">Autres tel : *</label><input class="long" type="tel" name="tel3" value="<?php echo $client['autre_tel']; ?>"/>
    </p>
    <p>
    <label for="mail">Email : *</label><input class="long" type="text" name="mail" value="<?php echo $client['email']; ?>"/>
    <label for="daten">Date de naissance : *</label><input class="long" type="date" name="daten" value="<?php echo $client['datenaissance']; ?>"/>
    </p>
     
    <input class="button" type="submit" name="modification" value="Modification">
    <input  class="button" value="Retour Gestion" OnClick="window.location.href='client.php'">
    </form>
    </body>
    </html>
    Voici le code de ma connexion.
    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
    <?php
     
     function connexion_db(){
     
    $host = "localhost"; /* L'adresse du serveur */
    $login = "root"; /* Votre nom d'utilisateur */
    $password = ""; /* Votre mot de passe */
    $base = "azur"; /* Le nom de la base */
     
     
     
            @$link = mysqli_connect($host,$login,$password,$base);
     
            @mysqli_set_charset($link,"utf8");
     
            //printf("Jeu de caractères courant : %s\n", mysqli_character_set_name($link));
     
            if (mysqli_connect_errno($link)) {
     
                echo "Echec lors de la connexion à MySQL : " . mysqli_connect_error($link);
     
                exit();
     
            }
     
            return $link;
     
        }
    $connexion = connexion_db();
     
    ?>
    Le select Affiche bien ce que l'on lui demande mais l'update affiche l'erreur cité ci-dessus.
    J'ai essayé de modifier la disposition des quotes des parenthèses sur l'update j'ai pris plein d'exemple sur divers sites mais rien y fait
    Nom : Capture.PNG
Affichages : 117
Taille : 21,0 Ko
    je joint également une image de la structure de ma base.
    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    "UPTADE" tu es sûr ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Décembre 2014
    Messages : 7
    Par défaut
    UPDATE pardon c'est une erreur à force de tout modifier ....
    Mais je viens de corriger et le message d'erreur reste le meme.
    J'ai le meme message avec un INSERT..
    En fait cela fonctionné correctement mais j'étais en mysql comme je suis débutant et que je me renseigne un peu partout j'ai vu que mysql été obselette j'ai donc décide de passer au mysqli.
    depuis j'ai ce message.
    merci en tout cas pour la faute mais ce n'est pas le problème visiblement.

    Erreur SQL !UPDATE 'client' SET 'nom' = 'Agence ERA', 'prenom' = 'Pascal', 'adresse' = '45 chemin de passe temps', 'cp_id' = '45410', 'tel_port' = '0661914459', 'tel1' = '+33661914459', 'autre_tel' = '0236700729', 'datenaissance' = '1970-02-07', 'genre' = '1', 'email' = 'marjoriepichard@gmail.com' WHERE 'id' = '13'
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''client' SET 'nom' = 'Agence ERA', 'prenom' = 'Pascal', 'adresse' = '4' at line 1

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est le caractère ` pour les noms d'objets et pas '
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE `client` SET `nom` = '".mysqli_real_escape_string($connexion, $_POST['nom'])."',
    tu peux aussi ne rien mettre s'il n'y a pas d’ambiguïté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE client SET nom = '".mysqli_real_escape_string($connexion, $_POST['nom'])."',
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Décembre 2014
    Messages : 7
    Par défaut
    Trop fort génial ça fonctionne.
    pourtant dans tout ce que j'ai pu voir sur le net ils le mettent pratiquement tout le temps peu tu m'expliquer pour ça ne marchait pas? désolé comme j'apprend j'aime bien savoir le pourquoi des choses.

    il me reste un problème je voulais a la fin de la modification si elle avait marché retourné sur ma page client mais j'ai ça comme erreur

    Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\azur\modifclient.php:125) in C:\xampp\htdocs\azur\modifclient.php on line 156

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu peux me montrer un exemple sur le net où ils mettent ' et pas ` ?

    'client' c'est une chaine de caractère
    `client` c'est un identifiant mysql
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [PHP-JS] Comment résoudre une erreur de syntaxe PHP
    Par saraza dans le forum Langage
    Réponses: 5
    Dernier message: 24/11/2008, 19h58
  2. [MySQL] erreur de syntaxe PHP au niveau de ma requête
    Par juju03 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/06/2008, 11h42
  3. [PHP-JS] erreur de syntaxe PHP
    Par jonath2210 dans le forum Langage
    Réponses: 2
    Dernier message: 03/06/2007, 23h36
  4. [Tableaux] erreur de syntaxe PHP
    Par jonath2210 dans le forum Langage
    Réponses: 3
    Dernier message: 17/04/2007, 09h27
  5. erreur de syntax FROM requete SQL
    Par Drozo dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 10/08/2006, 16h33

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