Problème ecriture dans bdd

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème ecriture dans bdd

par naje83 » 12 déc. 2007, 17:48

Juste ajouter un enregistrement et comme je l'ai marqué dans mon post précèdent cela fonctionne !
Et cela me suffit amplement.
Merci encore pour tes conseils et ton temps.

@+

Naje83

par h0_noMan » 12 déc. 2007, 17:41

REPLACE et INSERT sont 2 type de requètes différentes.

Que souhaite tu faire ?
1. Ajouter
2. Ajouter si l'enregistrement n'existe pas avant & Editer si il existe

par naje83 » 12 déc. 2007, 11:45

Merci de ta réponse, voici le schéma de la table :

Code : Tout sélectionner

-- phpMyAdmin SQL Dump -- version 2.10.0.2 -- http://www.phpmyadmin.net -- -- Serveur: Online -- Généré le : Mer 12 Décembre 2007 à 10:42 -- Version du serveur: 4.1.11 -- Version de PHP: 4.3.10-19 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Base de données: `le-verseau` -- -- -------------------------------------------------------- -- -- Structure de la table `livre` -- CREATE TABLE `livre` ( `titre` varchar(50) character set utf8 collate utf8_bin NOT NULL default '', `auteur` varchar(30) character set utf8 collate utf8_bin NOT NULL default '', `editeur` varchar(25) character set utf8 collate utf8_bin NOT NULL default '', KEY `titre` (`titre`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
@+

Naje83

J'ai trouvé !!

Il faut mettre :

$requete = "INSERT INTO `le-verseau`.`livre` (`titre` ,`auteur` ,`editeur` )VALUES ('$titre','$auteur','$editeur')";

par h0_noMan » 12 déc. 2007, 11:32

Quels sont la(les) clef primaire(s) de ta table ?

Donne nous le schéma de ta table.

Edit : Au passage sors tes variables des chaines de caractères.
$connexion = mysql_pconnect($MySQL_Host,$MySQL_User,$MySQL_Passw); 

Problème ecriture dans bdd

par naje83 » 12 déc. 2007, 11:26

Salut à tous

J'ai un problème d'écriture dans une bdd (mysql) existante depuis un bon moment !
Suite à un déménagement (chez un même hébergeur "online") tout ce passe en apparence impec mais la base reste inchangée...pas de nouvel enregistrement!
<?php
// variables
$bd= "le-verseau";
$MySQL_Host= "leverseau.le_verseau.net";
$MySQL_User= "le-verseau"; 
$MySQL_Passw= "*******";
echo $_POST["titre"];
echo "<br>";
echo $_POST["auteur"];
echo "<br>";
echo $_POST["editeur"];
//ajouter un enregistrement dans une table 
$connexion = mysql_pconnect("$MySQL_Host","$MySQL_User","$MySQL_Passw");
mysql_select_db($db,$connexion);
$requete = "REPLACE INTO livre(titre,auteur,editeur) VALUES ('$titre','$auteur','$editeur')";
$resultat = mysql_query($requete,$connexion);
echo "<hr>La requête $requete a été effectuée.\n";
echo "<br>";
?>	
Ce code fonctionnait bien auparavant mais plus rien à faire malgré le message suivant :

"La requête REPLACE INTO livre(titre,auteur,editeur) VALUES ('la divine matrice','gregg braden','ariane') a été effectuée."

Si quelqu'un peut venir à mon secours...

D'avance merci

Naje83