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 :

Incorrect integer value ?


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2020
    Messages : 32
    Par défaut Incorrect integer value ?
    Bonjour ! 4 jours que je suis sur ce problème, sans arriver à le résoudre ! C'est un journal de publication qui fonctionne très bien sur OVH et qui coince sur mon nouveau serveur chez LWS. Tout fonctionne parfaitement bien, mais impossible d'entrer les info en INSERT INTO ??? Voici d'abord le fichier en question qui gère le INTO et en dessous l'erreur qu'il me renvoi :

    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
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    <?php 
    if ($_SESSION['right'] != "") {
     
    	//on met le formulaire dans une fonction
    	function form() {
     
    		global $DBprfx,$DBConn,$setting,$send_var;
     
    		if (!isset($send_var['article_title'])) $send_var['article_title'] = "";
    		if (!isset($send_var['article_text'])) $send_var['article_text'] = "";
     
    		?>
    		<form action='admin.php?module=postarticle' method='POST' enctype='multipart/form-data' name='post_article'>
    		<table border="0" class="texte1">
      		<tr>
      		  <td>Titre:</td>
      		  <td><input value="<?php echo $send_var['article_title']; ?>" type='text' name='titre'></td>
          </tr>
          <tr>
            <td>&Agrave; paraitre dans l'&eacute;dition:</td>
            <td>
    			<select size='1' name='parent'>
    			<option selected="selected" value=""></option><?php
     
    			$sql = "SELECT * FROM " . $DBprfx . "edition";
    			$edition = mysql_query($sql, $DBConn) or die(mysql_error());
    			while ($array = mysql_fetch_array($edition)) {
    				$edition_id = mysql_result($edition, $i, 'edition_ID');
    				$edition_titre = mysql_result($edition, $i, 'edition_titre');
    				$edition_validity = mysql_result($edition, $i, 'edition_validity');
     
    				if ($setting['allow_post_on_active_ed'] == "true" or $edition_validity == 0) {
    					if ($send_var['article_parent'] == $edition_id) {
    						$selected = "selected='selected'";
    					} else {
    						$selected = "";
    					}
    					?>
    					<option <?php echo $selected; ?> value='<?php echo $edition_id; ?>'><?php echo $edition_titre; ?></option>
    					<?php
    				}
     
    			$i++;
    			}
    			?>
    			</select>
        	  </td>
      		</tr>
    		</table> 
     
    		<br><div class="texte1">Texte:</div>
          	<!--Btn bb_code--> 
            <?php bb_code_btn("article_text"); ?>
     
    		<textarea style="width:500px;height:300px" wrap="virtual" name="article_text"><?php echo $send_var['article_text']; ?></textarea>
            <br>
    		<input type='submit' value="Envoyer" name='submit_post_article' />
            <input type="submit" value="Pr&eacute;visualisation" name="preview" />
    		</form><?php
     
     
    	}
     
    ///////////
    //PREVIEW//
    ///////////
     
    	//Mode preview
    	if (isset($_POST['preview'])) {
     
    		$send_var['article_title'] = stripslashes($_POST['titre']);
    		$send_var['article_title'] = preg_replace ('/\</is', '&lt;', $send_var['article_title']); //on enlève le HTML.
    		$send_var['article_parent'] = $_POST['parent'];
    		$send_var['article_text'] = stripslashes($_POST['article_text']);
    		$send_var['article_text'] = preg_replace ('/\</is', '&lt;', $send_var['article_text']); //on enlève le HTML.
     
     
    		?><strong>Pr&eacute;visualisation:</strong><br />
            <table class="preview"><tr><td align="left"><?php
     
    		//on formate le BBcode
    		$article_texte_clean = bbcode_format(remove_html($send_var['article_text']));
     
    		?><span class="article_title"><?php echo $send_var['article_title'] ?></span><br>
    		  <span class="article_auteur">Par <?php echo get_username($_SESSION['user']) ?></span><br /><br>
    		  <span class="article_texte"><?php echo $article_texte_clean; ?></span><?php
     
    		?></td></tr></table>
            <br /><br /> 
     
    		<?php form();
     
     
    ////////
    //SEND//
    ////////
     
    	//Si le formulaire est envoyé...
    	} else if (isset($_POST['submit_post_article'])) {
     
    		$send_var['article_title'] = $_POST['titre'];
    		$send_var['article_title'] = preg_replace ('/\</is', '&lt;', $send_var['article_title']); //on enlève le HTML.
    		$send_var['article_parent'] = $_POST['parent'];
    		$send_var['article_text'] = $_POST['article_text'];
    		$send_var['article_text'] = preg_replace ('/\</is', '&lt;', $send_var['article_text']); //on enlève le HTML.
     
    		//On vérifie si l'article a un titre
    		if ($send_var['article_title'] == "") { 
    			?><span class="error">Veuillez pr&eacute;ciser un titre</span><?php
    			form();
     
    		//on défini si l'Article est valide ou pas
    		} else {
    			if ($_SESSION['right'] == 1 or $_SESSION['right'] == 3) {
    				$article_validity = "0";
    			} else {
    				$article_validity = "1";
    			}
     
    			//on insère dans MySQL
    			$sql = 'INSERT INTO ' . $DBprfx . 'article (`article_ID`,`article_titre`,`article_auteur`,`article_parent`,`article_texte`,`article_validity`) 
    					  VALUES (\'\','
    					   . '\'' . addslashes($send_var['article_title']) . '\',' 
    					   . '\'' . $_SESSION['user'] . '\',' 
    					   . '\'' . $send_var['article_parent'] . '\',' 
    					   . '\'' . addslashes($send_var['article_text']) . '\','
    					   . '\'' . $article_validity . '\'
    					   )';
     
     
    			//echo $send_var['article_parent'];
    			$insert = mysql_query($sql, $DBConn) or die(mysql_error());
     
    			$last_ID = mysql_insert_id();
     
    			$app_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
    			$app_url = substr($app_url,0 ,-10);
    			$app_url = $app_url."/admin.php?module=articles&do=read&ID=".$last_ID."&from=all";
     
    			$date = date('Y-m-d H:i:s');
     
    			//on envoie un message aux admins et editeur si demander par ceux-ci et si ce n'est pas un d'eux qui l'a envoyé.
    			if ($_SESSION['right'] != 2 && $_SESSION['right'] != 4) {
     
    				//Le order by n'est que pour trouver le premier admin
    				$sqmail = "SELECT `ID`,`send_email`,`email`,`name` FROM " . $DBprfx . "user WHERE `right` = '2' UNION SELECT `ID`,`send_email`,`email`,`name`  FROM " . $DBprfx . "user WHERE `right` = '4' ORDER BY `ID` ASC";
     
    				$mail_to = mysql_query($sqmail, $DBConn) or die(mysql_error());
    				$ligne_mail = mysql_fetch_array($mail_to, MYSQL_ASSOC);
    				$nb = mysql_num_rows($mail_to);
     
     
    				$i = 0;
    				while ($array = mysql_fetch_array($mail_to)) {
    					$send_email = mysql_result($mail_to, $i, 'send_email');
    					$name = mysql_result($mail_to, $i, 'name');
    					$email = mysql_result($mail_to, $i, 'email');
     
    					//$pomme .= "-";
    					 if ($send_email == 1) {
     
     
     
    						 $user = get_username($_SESSION['user']);
    						 $Subject = "$user vient d'écrire un article pour ".$setting['journal_name'];
    					   $EmailBody = "Bonjour $name,\n\n $user a écrit un article pour ".$setting['journal_name'].".\nVous pouvez le consulter à l'adresse suivante: $app_url \n\n Bonne journée\nEnvoyé le: $date";
     
    						 mail($name." <".$email.">",$Subject, $EmailBody, "From: ".$setting['journal_name']." <".$ligne_mail['email'].">");
     
    					}
     
    					$i++;
    				}			 
    			}
     
    			//affiche un message de succes
    			?>
                <span class="succes">Votre article  &agrave; &eacute;t&eacute; cr&eacute;&eacute; avec succ&egrave;s!
                <?php
    			if ($_SESSION['right'] == 1 or $_SESSION['right'] == 3) {
    				?><br>Votre article doit &ecirc;tre approuv&eacute; par un administrateur avant sa publication<?php
    			}
    			?></span><br /><br /><a class="retour" href="admin.php?module=articles" title="Retour">Retour</a><?php
    		}
     
    	} else {
     
    		//on affiche le formulaire
    		form();
     
     
    	}
     
    } else { 
    	?><span class="error">Vous n'avez pas acc&egrave;s &agrave; ce module</span><?php
    }
     
    ?>
    Et l'erreur qu'il me renvoi :

    Incorrect integer value: '' for column `c1Journal`.`ABRACADA_article`.`article_ID` at row 1
    Merci si vous pouvez m'aider

  2. #2
    Membre Expert 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
    Par défaut
    Bonjour,

    article_ID c'est un auto incrément ?

    Apparemment les bases de données ne seraient pas les mêmes (MySql sur un serveur et Postgre SQL sur un autre par exemple ) ou de versions différentes ?

    Et ça c'est pour le moins curieux ...
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = 'INSERT INTO ' . $DBprfx . 'article (`article_ID`,`article_titre`,`article_auteur`,`article_parent`,`article_texte`,`article_validity`)
    VALUES (\'\', ...

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2020
    Messages : 32
    Par défaut
    Bonjour vttman et merci pour ton aide,

    Oui, article_ID est un auto incrément. Il s'agit de créer un nouvel article, avec un titre parent du genre un titre "Sujet sur les Animaux" et l'article attaché en rapport. Je n'ai pas créé ce code...

    Je pense que cela coince justement au niveau de l'auto-increment. Il semble ne pas avoir la clé pour créer le nouveau numéro d'article. Pourtant l'auto-increment est bien indiqué dans la base Mysql et le numéro d'increment est bon. Je ne suis pas un pro en PHP, à vrai dire je bidouille avec... J'ai aussi cette information :

    Unknown: Skipping numeric key 2 in Unknown on line 0
    Peut-être que cela peut te servir pour m'aider. Ce qui est bizarre, c'est que je n'ai aucune alerte php comme si tout fonctionnait bien. C'est pour ça que je suis coincé, car je ne sait pas du tout ou ça coince ! Ce qui est étonnant, c'est que j'utilise le même script sur un autre serveur et qu'il marche impec ? Tout le reste du script php fonctionne parfaitement. C'est juste les enregistrements à la base qui coincent. Par contre, le script était plein de <? ... ?>, sans php. Sur mon autre serveur j'ai remplacé tous les <? par <?php et ça marche, mais pas sur ce serveur ?

    Merci de votre aide

  4. #4
    Membre Expert 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
    Par défaut
    Malheureusement je ne vais pas pouvoir aider plus, je n'ai jamais eu ce type d'erreur ...

    Quand j'ai des soucis avec mon code php, je debugge (error_reporting , var_dump)
    =>
    https://www.php.net/manual/fr/functi...-reporting.php
    https://www.php.net/manual/fr/function.var-dump.php

    Bon comme on n'est pas tout seul sur le forum, il y a aura sans doute d'autres propositions

  5. #5
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Je pense que cela coince justement au niveau de l'auto-increment. Il semble ne pas avoir la clé pour créer le nouveau numéro d'article. Pourtant l'auto-increment est bien indiqué dans la base Mysql et le numéro d'increment est bon.
    Je ne comprends pas ce que tu veux dire par "et le numéro d'increment est bon".

    Sinon au niveau de ta requête, pour le champ auto-incrémenté, soit tu ne le mentionnes pas dans le INSERT, soit tu lui passes DEFAULT ou NULL.

    Et attention, les fonctions mysql_* sont obsolètes depuis 10 ans, passe par PDO https://php.net/pdo

  6. #6
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2020
    Messages : 32
    Par défaut
    Merci vttman. Moi aussi, je n'ai jamais vu cette erreur ! Bon j'espère qu'effectivement, je vais trouver. Tout mon projet est bloqué à cause de cette erreur que je n'arrive pas à trouver ! Je suis en train de mettre les lignes de reporting d'erreur, comme tu m'as indiqué. Je vais voir ce que cela répond...

    Merci Seb pour ta réponse Le numéro d'auto increment, se trouve sur Mysql dans l'onglet "Opérations". Le chiffre du prochain article est indiqué. Parfois, ça ne marche pas, car le numéro ne correspond pas au cycle d'ajout des nouveaux articles. Donc là sur la base, tout est ok. Et comme je dis, ce même script sur un autre serveur fonctionne sans problème. Cela vient peut-être d'une fonction de mon nouveau serveur chez LWS. Si je ne trouve vraiment pas la réponse, je la soumettrai à LWS, ils sont au top pour aider

    Et tu as raison pour Mysqli ou PDO, mais pour l'instant, je reste en Mysql. Comme je suis sur un serveur dédié VPS, je peux choisir ma version de PHP qui est 5,6 et qui convient au mieux à mon travail de plus de 15 ans... ! Si je passe en 7.0, plus rien ne marche ! Je verrai plus tard pour passer aux autres versions. Donc, en 5.6, Mysql, fonctionne parfaitement. Cela ne vient donc pas de ça...

    Merci de votre aide les amis, vous êtes précieux... ! Sans vous, je n'en serai pas là où j'en suis aujourd'hui...

    Et si une personne peut m'aider à résoudre ce problème, ce serait super. Comme par exemple m'expliquer pourquoi j'ai cette alerte :

    Unknown: Skipping numeric key 2 in Unknown on line 0
    Merci

  7. #7
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2020
    Messages : 32
    Par défaut
    Seb, si j'ajoute NULL à l'INSERT :

    //on insère dans MySQL
    $sql = 'INSERT INTO ' . $DBprfx . 'article (`article_ID`,`article_titre`,`article_auteur`,`article_parent`,`article_texte`,`article_validity`)
    VALUES (NULL, \'\','
    Voici la réponse de PHP :

    Column count doesn't match value count at row 1
    Si cela aide...

  8. #8
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Affiche $sql et vérifie que chaque colonne a bien une valeur et vice-versa.

  9. #9
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2020
    Messages : 32
    Par défaut
    Comment tu verrais ça sur le INSERT INTO ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    			$sql = 'INSERT INTO ' . $DBprfx . 'article (`article_ID`,`article_titre`,`article_auteur`,`article_parent`,`article_texte`,`article_validity`)
    					  VALUES (\'\','
    					   . '\'' . addslashes($send_var['article_titre']) . '\',' 
    					   . '\'' . $_SESSION['user'] . '\',' 
    					   . '\'' . $send_var['article_parent'] . '\',' 
    					   . '\'' . addslashes($send_var['article_texte']) . '\','
    					   . '\'' . $article_validity . '\'
    					   )';
    Normalement, c'est bon et il ne semble pas y avoir d'erreur, car ce code marche très bien sur un autre serveur ! Ce que je pense, c'est que cela peut venir de la version de PHP. Là je suis sur 5.6 et avant, j'étais sur du 4.7. Sur mon autre serveur, je suis sur PHP 4.7 et ça marche. Donc cela pourrait venir d'une modification entre la version 4.7 et la version 5.6....

    As-tu une idée de comment je pourrai construire ce code ci-dessus, pour qu'il fonctionne en 5.6 ? Merci

  10. #10
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Affiche $sql et colle le résultat ici stp

  11. #11
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2020
    Messages : 32
    Par défaut
    Excuse-moi, je ne suis pas très compétent en PHP. Que veux tu que je t'affiche ? Je ne comprends pas ? Je t'ai mis la ligne $sql, mais apparemment, ce n'est pas ce que tu attendais ?

  12. #12
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Tu me donnes la définition de $sql, or, généralement, pour débuguer, on consulte le contenu des variables. C'est ce que je te demande pour $sql.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = 'INSERT INTO ...';
    $echo $sql; // <= Que donne ceci ?

  13. #13
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2020
    Messages : 32
    Par défaut
    J'ai fait :

    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
    <?php
    // on se connecte à notre base
    $base = mysql_connect ('hote', 'user', 'pass');
    mysql_select_db ('db', $base) ;
    ?>
     
    <title>Verification de BD Mysql</title>
    </head>
    <body>
    <?php
    // lancement de la requete
    $sql = "SELECT article_ID, article_titre, article_auteur, article_parent, article_texte FROM ABRACADA_article WHERE article_ID = '2'";
     
    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    // on recupere le resultat sous forme d'un tableau
    $data = mysql_fetch_array($req);
     
    // on libère l'espace mémoire alloué pour cette interrogation de la base
    mysql_free_result ($req);
    mysql_close ();
    ?>
    Les echos :<br />
    <?php echo $data['article_ID']; ?>
    <?php echo $data['article_titre']; ?>
    <?php echo $data['article_auteur']; ?>
    <?php echo $data['article_parent']; ?>
    <?php echo $data['article_texte']; ?>
    et ça marche, les echos apparaissent, donc le lien à la base est bon. Est-ce que c'est bien ce que tu me demandais ?

  14. #14
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Je t'ai donné un exemple de ce dont j'ai besoin

  15. #15
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2020
    Messages : 32
    Par défaut
    Je m'excuse, mais je ne comprends pas ce que tu veux que je te donne ? Je suis nul en PHP, je fais juste du bidouillage ! C'est comme si tu me demandais que je te donne la partition d'une musique..., j'en suis incapable lol ! Dans ta tête je pense que c'est très clair, mais pour moi, je comprends pas. Ne peux-tu pas me le détailler ou reprendre les infos de mon fichier que j'ai donné ci-dessus, pour que je puisse ensuite l'essayer ? Pardon, j'imagine que c'est pas drôle de devoir tout expliquer...

  16. #16
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par FranceAnnuaire Voir le message
    Je m'excuse, mais je ne comprends pas ce que tu veux que je te donne ? Je suis nul en PHP, je fais juste du bidouillage ! C'est comme si tu me demandais que je te donne la partition d'une musique..., j'en suis incapable lol ! Dans ta tête je pense que c'est très clair, mais pour moi, je comprends pas. Ne peux-tu pas me le détailler ou reprendre les infos de mon fichier que j'ai donné ci-dessus, pour que je puisse ensuite l'essayer ?
    Oui c'est ce que j'ai fait ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = 'INSERT INTO ...';
    $echo $sql; // <= Que donne ceci ?

  17. #17
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2020
    Messages : 32
    Par défaut
    Désolé, mais tu me mets ça comme si j'étais un expert qui comprends tout de suite ce que tu demandes. Un expert comprendrait sans soucis, mais je t'ai dit, que je ne suis pas assez bon, pour comprendre tes 2 lignes. Donc, si tu veux pas ou peux pas développer, laisse tomber, j'espère qu'une autre personne aura une réponse plus claire. J'ai toujours trouvé des solutions ici, mais là tu me mets 2 lignes et tu espères que je comprenne... Donc si d'autres personnes ont d'autres solutions...

    Par exemple, je pense que c'est mon code qui n'est plus compatible et c'est juste une histoire d'habillage php. En PHP 4.7, ce code marche très bien...

    Je repose donc ma question. Est-ce que quelqu'un peut me donner une autre écriture que celle-ci ? Je suis en PHP 5.6 :

    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
    		//on défini si l'Article est valide ou pas
    		} else {
    			if ($_SESSION['right'] == 1 or $_SESSION['right'] == 3) {
    				$article_validity = "0";
    			} else {
    				$article_validity = "1";
    			}
     
    			//on insère dans MySQL
    			$sql = 'INSERT INTO ' . $DBprfx . 'article (`article_ID`,`article_titre`,`article_auteur`,`article_parent`,`article_texte`,`article_validity`)
    					  VALUES (\'\','
    					   . '\'' . addslashes($send_var['article_title']) . '\',' 
    					   . '\'' . $_SESSION['user'] . '\',' 
    					   . '\'' . $send_var['article_parent'] . '\',' 
    					   . '\'' . addslashes($send_var['article_text']) . '\','
    					   . '\'' . $article_validity . '\'
    					   )';
     
     
    			//echo $send_var['article_parent'];
    			$insert = mysql_query($sql, $DBConn) or die(mysql_error());
     
    			$last_ID = mysql_insert_id();
     
    			$app_url = "http//".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
    			$app_url = substr($app_url,0 ,-10);
    			$app_url = $app_url."/admin.php?module=articles&do=read&ID=".$last_ID."&from=all";
     
    			$date = date('Y-m-d H:i:s');
    SEb, si tu veux et tu peux me proposer une autre écriture, super, sinon si une autre personne peut m'aider. Désolé, mais je travaille encore et toujours, depuis des années comme un dingue et je suis épuisé... Un peu d'aide me ferait le plus grand bien. Merci

  18. #18
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2020
    Messages : 32
    Par défaut
    Voilà, le problème est résolu ! C'était bien une histoire d'habillage dans l'INSERT INTO ! Voici le code que j'avais et en dessous le bon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    				//on insère dans MySQL
    				$sql = 'INSERT INTO ' . $DBprfx . 'article (`article_ID`,`article_titre`,`article_auteur`,`article_parent`,`article_texte`,`article_validity`) 
    						  VALUES (\'\','
    						   . '\'' . addslashes(remove_html($titre)) . '\',' 
    						   . '\'' . $pigiste_ID . '\',' 
    						   . '\'' . $article_parent . '\',' 
    						   . '\'' . addslashes(remove_html($texte)) . '\','
    						   . '\'' . $article_validity . '\'
    						   )';
    et le bon code !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    				//on insère dans MySQL
    				$sql = 'INSERT INTO ' . $DBprfx . 'article (`article_titre`,`article_auteur`,`article_parent`,`article_texte`,`article_validity`) 
    						  VALUES ('
    						   . '\'' . addslashes(remove_html($titre)) . '\',' 
    						   . '\'' . $pigiste_ID . '\',' 
    						   . '\'' . $article_parent . '\',' 
    						   . '\'' . addslashes(remove_html($texte)) . '\','
    						   . '\'' . $article_validity . '\'
    						   )';
    Merci à ceux qui ont participé

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/01/2018, 14h27
  2. Incorrect integer value
    Par laurentSc dans le forum Langage
    Réponses: 4
    Dernier message: 27/01/2018, 11h03
  3. Problème Java/SQL : Incorrect integer value
    Par phantomatiik dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 22/03/2012, 14h44
  4. [MySQL] Comprendre - Incorrect integer value: '' for column at row 1
    Par francois_a dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/09/2009, 04h04
  5. [mysql5]problème truncated incorrect double value xx
    Par moulefrite dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 10/11/2006, 17h17

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