probleme d'insertion dans la base

steph78
Invité n'ayant pas de compte PHPfrance

26 sept. 2006, 13:10

Bonjour,

C'est encore moi, j'ai encore le probleme avec phpmyadmin, mais j'ai un probleme encore plus important, je vous avais dit que tout mon code marchais, mais en faite, je peux faire des selection, des delete des update mais impossible de faire des insert. Au debut je pensais que cela venais des numérotation automatique, mais j'ai essayer avec d'autre et c'est le même probleme. A partir de mysql la console il n'y a pas de probleme, cela est a partir du code. Je precise que a partir de wamp je n'avais aucun probleme a ce niveau non plus. Qu'es-ce qui pourrai me causer c'est probleme ?

merci d'avance

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 sept. 2006, 13:47

Nous ne pouvons pas t'aider si nous n'avons pas d'éléments...

steph78
Invité n'ayant pas de compte PHPfrance

26 sept. 2006, 14:37

Je ne peux pas donner beaucoup plus de detail. sauf que lorque je veux voir les variable qui sont en memoire, et bien rien s'affiche(même pour quelque chose qui marche).
De plus, il faut que tout soit rempli sur un formulaire afin qu'il puisse être enregistrement et ne pas être en numérotation automatique. A partir du moent ou se en numérotation automatique cela ne marche pas.

Sinon je peut voir faire voir un peu de code, mais tout marchai sous wamp auparavent.

ma fenetre contennant le formulaire :
 <?php 
session_start();
?>
<?php
include_once("../../connexion.php");
?>
<html>
<head>
<script language="javascript">>
function validate(enreg) {
    valnom = document.enreg.nom.value;
    while('' + valnom.charAt(0)==' ')
        valnom = valnom.substring(1, val1.length);
    if (valnom == "")
        alert("Veuillez saisir le nom de l'acces");
        document.enreg.nom.focus();
        return false;
    }
}


</script>

<title>Enregistement d'un nouvel acc&egrave;s</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body,td,th {
	font-family: Tahoma;
}
-->
</style><link rel="stylesheet" type="text/css" href="../../style.css">
</head>
<body>



<a href="javascript:history.go(-1)"><img src="../../image/precedent.gif" width="41" height="25" border="0"></a><form name="enreg" onSubmit="return validate(this)" method="post" action="accesAdd.php">


  <p>&nbsp;  </p>
  <table width="40%" >
    <tr align="left" valign="middle">
      <td width="37%">Nom de l'acc&egrave;s</td>
      <td width="63%"><input name="nom" type="text" id="nom"></td>
    </tr>
  </table>
  
  <p align="center">
    <input name="sub" type="image" src="../../image/enregistrer13.jpg" width="100" height="20" border="0">


</form>
</boby>
</html>
la fentre appellé :

<?php 
session_start();
?>
<?php
include_once("../../connexion.php");
include_once("../../fonction.inc.php");

if (isset($_POST['nom']))
    $lib = $_POST['nom'];
else
    $lib = "";

accesAdd($lib);
header("Location: consult_acces.php");
?> 
la fenetre permettant d'inserer :
function accesAdd($lib) {
    mysql_query("insert into acces(num_acces, libelle_acces) values('', '$lib')");
}
voila j'ai quasiment la même chose pour mettre a jour et cela marche.

si vous pouvez m'aider sa serai vraiment cool. Je commence a être demoralisé!!!![/php]

ViPHP
ViPHP | 3607 Messages

26 sept. 2006, 14:45

et si tu rajoutait des or die(mysql_error()) après chaque appel à des fonctions mysql ?

steph78
Invité n'ayant pas de compte PHPfrance

26 sept. 2006, 14:50

Out of range value adjusted for column 'NUM_ACCES' at row 1.

Mais il est en numérotation automatique mon champ !, c'est bien un probleme a cause de ça ?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 sept. 2006, 14:56

mysql_query("insert into acces(num_acces, libelle_acces) values(NULL, '$lib')");
Essaies ceci. Si je me souviens bien, une personne avait le même problème que toi. En mettant '' ça ne marchait pas pour l'ID auto-incrémenté.

A tester.

steph78
Invité n'ayant pas de compte PHPfrance

26 sept. 2006, 15:02

et bien ça marche.mais comme par hasard il y a des probleme que j'avais avant qui n'y était pu et qui sont revenu.Mais merci, je n'y aurai pas penser.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 sept. 2006, 15:07

Il faut y aller à tâton alors...quel est le nouveau souci que tu as maintenant ?

steph78
Invité n'ayant pas de compte PHPfrance

27 sept. 2006, 08:10

Bonjour,

En faite pour que mes insertion marche il faudrai que je mette :
if (isset($_POST['champ1']))
    $champ1 = $_POST['champ1'];
else
    $champ1 = NULL; 
pour tous mes champ?En effet, je l'ai mis sur un autre endroit que l'identifiant acces et cela ne marche pas.
Es-ce que je dois faire cela que pour les identifiant auto, pour les champs en alphanumérique ="" et pour les champs numérique =0 ?

Merci