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 :

[Impossible] insertion de multiples ligne [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Inscrit
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 151
    Points
    151
    Par défaut [Impossible] insertion de multiples ligne
    Bonjour,

    Pour mon projet j’essaye d’insérer plusieurs ligne sql dans ma base, mais ca ne fonctionne pas (sa fonctionne juste avec une ligne), mais si plusieurs lignes alors j'ai l'erreur suivante.

    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

    Code source

    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script src="ajax_framework.js" language="javascript"></script>
    <div id="insert_response"></div>
    <form action="javascript:insert()" method="post">
    <p><textarea name="text_all" id="text_all" rows="32" cols="163">
    REPLACE INTO `table_stat` VALUES(1, '22-03-2012 15:30:33', 'david', 'Action:ciel')
    REPLACE INTO `table_stat` VALUES(2, '22-03-2012 14:22:13', 'gérard', 'Action:ciel');
    </textarea></p>
    <input type="submit" name="submit">
    </form>
    ajax_framework.js
    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
    function createObject() {
    var request_type;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
    request_type = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
    request_type = new XMLHttpRequest();
    }
    return request_type;
    }
    var http = createObject();
     
    var nocache = 0;
    function insert() {
     
    document.getElementById('insert_response').innerHTML = "Just a second..."
     
    var text_all = encodeURI(document.getElementById('text_all').value);
    nocache = Math.random();
    http.open('get', 'insert.php?text_all=' +text_all+'&nocache = '+nocache);
    http.onreadystatechange = insertReply;
    http.send(null);
    }
     
    function insertReply() {
    if(http.readyState == 4){ 
    var response = http.responseText;
    document.getElementById('insert_response').innerHTML = '-/- Site added -\-'+ '\n\r\n\r'+response;
    }
    }
    insert.php
    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
    <?php
    //include('config.php');
    if(isset($_GET['text_all'])){
    $Var_text_all = $_GET['text_all'];
                    function Magicq ($chaine)
                    {
                            if (get_magic_quotes_gpc()) $chaine = stripslashes($chaine);
                            return $chaine;
                    } 
     $HOST  = Magicq('localhost');
     $USER  = Magicq('root');
     $PASS  = Magicq('');
     $BASE  = Magicq('point');
                    $tab_requete = explode("\r\n",$Var_text_all);
                    $tab_requete = array_filter($tab_requete);
    $db = mysql_connect($HOST, $USER ,$PASS );
    mysql_query("SET NAMES UTF8"); 
    mysql_select_db( $BASE,$db);
                    if ($db)
                    {
                    foreach ($tab_requete as $requete)
                            {
    $req = mysql_query($requete,$db) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());
     if($req)
     { 
     echo "BLA BLA 1";
     } else {
     echo "BLA BLA 2";
     }
     echo "BLA BLA 3";
     } 
     echo "BLA BLA 4";
     } 
     echo "BLA BLA 5";
     }
    ?>
    base
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	CREATE TABLE IF NOT EXISTS `table_stat` (
    	  `id` int(11) NOT NULL AUTO_INCREMENT,
    	  `date_heure` varchar(40) NOT NULL,
    	  `bureau_de` varchar(40) NOT NULL,
    	  `action` text NOT NULL,
    	  PRIMARY KEY (`id`),
    	  KEY `ID_2` (`id`)
    	) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
    Exemple sql que je veux insérer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    REPLACE INTO `table_stat` VALUES(1, '22-03-2012 15:30:33', 'david', 'Action:ciel');
    REPLACE INTO `table_stat` VALUES(2, '22-03-2012 14:22:13', 'gérard', 'Action:ciel');
    REPLACE INTO `table_stat` VALUES(3, '22-03-2012 15:52:32', 'david', 'Action:web');

    Le textarea et juste un exemple.

    Pouvez vous m'aider SVP.
    Merci d'avance

  2. #2
    Développeuse forum
    Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Points : 1 420
    Points
    1 420
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $tab_requete = explode(";\r\n",$Var_text_all);

    Essaye d'ajouter le ; avant \r
    Je ne garanti rien mais....

    Si un message vous a aidé, pensez à voter positivement pour lui ! Merci
    Pas de question technique en privé
    - Si on criait sur la place publique les fautes de tout le monde, on ne pourrait plus fréquenter personne ! (Marcel Pagnol)
    - Technocrates, c’est les mecs que, quand tu leur poses une question, une fois qu’ils ont fini de répondre, tu comprends plus la question que t’as posée. (Coluche)

  3. #3
    Inscrit
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 151
    Points
    151
    Par défaut
    Merci d'avoir pris le temps

    j'ai ajouter le ; mais ça ne fonctionne pas.

    je me demande si le problème ne viens pas du fichier ajax_framework.js

  4. #4
    Inscrit
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 151
    Points
    151
    Par défaut
    Merci Atomya Rise j'ai retirer fait comme ceci ça fonctionne.

    $tab_requete = explode(";",$Var_text_all); // sans les \r\n

    Atomya Rise + 1

  5. #5
    Développeuse forum
    Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Points : 1 420
    Points
    1 420
    Par défaut
    Pas de quoi et merci

    Si un message vous a aidé, pensez à voter positivement pour lui ! Merci
    Pas de question technique en privé
    - Si on criait sur la place publique les fautes de tout le monde, on ne pourrait plus fréquenter personne ! (Marcel Pagnol)
    - Technocrates, c’est les mecs que, quand tu leur poses une question, une fois qu’ils ont fini de répondre, tu comprends plus la question que t’as posée. (Coluche)

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

Discussions similaires

  1. Insert ou Update lignes multiples
    Par DeWaRs dans le forum Langage SQL
    Réponses: 8
    Dernier message: 18/05/2012, 17h49
  2. [MySQL] insertion de multiples lignes en utilisant checkbox
    Par amine-pv0 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/12/2010, 05h15
  3. Insertion de multiples lignes.
    Par ludvax dans le forum Oracle
    Réponses: 22
    Dernier message: 11/01/2010, 13h34
  4. insertion avec multiples lignes
    Par f066457 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 27/03/2006, 23h52

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