J'écris dans l'espoir de trouver enfin une solution à ce bug qui me turlupine (pas de mauvais jeux de mots svp ^^).
Je m'explique. J'ai créé un formulaire, tout bête, dont je récupère les valeurs saisies pour les ranger dans une table SQL. Pas de problème, sauf lorsqu'un quote (" ' ") est présent.
Voici un morceau de mon code, bien que je ne pense pas que ca vienne d'une erreur de celui ci, mais plutôt d'une ignorance de ma part (en terme de fonction php ^^).
<?php
@session_start();
@$user=$_SESSION['pseudo'];
@$pass=$_SESSION['pass'];
@$bdd="XXX";
@$host="localhost";
//session_start() pour utiliser un enregiustrement ayant déjà été effectué.
@mysql_connect($host, $user, $pass) or die("Impossible de se connecter à la base de donnée"); @mysql_select_db($bdd) or die("Impossible de se connecter à la base de données");
?>
// en-tête HTML <body> eetc... je passe à la suite du code
<?php $objet_consult=$_POST['objet_consult'];
$duree=$_POST['duree'];
$critere=$_POST['critere_sup'];
$date_envoi=date("Y/m/d");
$limite_date=$_POST['date_limite'];
// je saute la partie du code ou je recherche l'index ou enregistrer mes données. Je mets le code à la fin au cas ou ca puisse venir de là.
$sql = "INSERT INTO appel VALUES('" . $num_appel . "','" . $objet_consult . "','" . $duree . "','" . $critere . "','" . $limite_date . "','" . $date_envoi . "')";
$res = mysql_query($sql);
echo $res;
// un ptit echo pour tester si ca a marché
mysql_close();
?>
Tout les caractères passent normalement (j'ai pas mis de htmlentities, masi chez moi ca passe sans. Et puis j'ai testé avec, et aucune différence. Je le mettrai quand jaurais résolu ce problème.voici le morceau de code que j'ai enlevé, mais ca m'étonnerait que ca vienne de là :
ce code sert à trier les clés primaires de ma table par ordre croissant, puis de compter le nombre de valeur, et donc d'en déduire les indices non utilisés.
$requete="select appel_num from appel order by appel_num";
$resultat=mysql_query($requete);
$tableau_ord=mysql_fetch_array($resultat);
$sql="select count(*) from appel";
$compte=mysql_fetch_row(mysql_query($sql));
$compte=$compte[0];
$trouve=0;
$i=0;
while ($i<$compte)
{
if ($i<>$tableau_ord[0])
{
$num_appel=$i;
$trouve=1;
$i=$compte;
}
else
{
$i=$i+1;
$tableau_ord=mysql_fetch_array($resultat);
}
}
if (($i==$compte) && ($trouve==0))
{ $num_appel=$compte;
}
Merci d'avance. En éspérant ne pas avoir écrit trop et de ce fait avoir rendu ma question totalement inintéligible.Arto
