Insertion avec PDO
Posté : 04 mars 2012, 22:41
Bonjour à toutes et à tous,
Quelques soucis avec PDO insertion, besoin d’un coup de pouce…
Voici mon fichier myparam.inc.php avec les mots de passe.
par contre dans un autre bout de code je n’arrive pas à insérer une ligne….
Et le pire, aucune erreur ne s’affiche à l’écran…en fait, rien ne se passe…
Voici la partie html du form.
Merci d’avance pour votre intervention…
Cordialement,
Bruno
Quelques soucis avec PDO insertion, besoin d’un coup de pouce…
Voici mon fichier myparam.inc.php avec les mots de passe.
<?php
define("MYHOST","sql…");
define("MYUSER","ici l’user");
define("MYPASS","ici le mot de passe");
?>
Le fichier connexpdo.inc.php
<?php
function connexpdo($base,$param)
{
include_once($param.".inc.php");
$dsn="mysql:host=".MYHOST.";dbname=".$base;
$user=MYUSER;
$pass=MYPASS;
try
{
$idcom = new PDO($dsn,$user,$pass);
return $idcom;
}
catch(PDOException $except)
{
echo"Echec de la connexion",$except->getMessage();
return FALSE;
exit();
}
}
?>
En début de mon fichier j’ai inséré ce bout de code
< ?php
include_once("connexpdo.inc.php");
?>
J’arrive à afficher ma table avec cet exemple…
<?php
if($idcom=connexpdo("mabdd","myparam"))
{
$trier = isset($_POST['tri']) ? mysql_real_escape_string($_POST['tri']):'type_article';
$requete="SELECT * FROM table_articles ORDER BY table_articles.$trier";
$result=$idcom->query($requete);
if(!$result)
{
$mes_erreur=$idcom->errorInfo();
echo "Lecture impossible, code", $idcom->errorCode(),$mes_erreur[2];
}
else
{
echo <<<html
<form action="" method="post" name="trier" id="trier">
<p style="text-align:center">
<select name="tri" onchange="submit(this.form)">
<option value="">Classer la table par...</option>
<option value="id">Ordre ID</option>
<option value="designation">Ordre de désignation</option>
<option value="type_article">Sa désignation</option>
<option value="prix_ttc">Prix TTC</option>
</select>
</p>
</form>
<br/>
html;
echo "<table cellspacing=\"1\" border=\"1\" style=\"width:100%;\">";
echo "<tr style=\"text-align:center\"><th>N° ID</th> <th>N° Traçabilité</th> <th>Catégorie</th> <th>Sous-Catégorie</th><th>Désignation</th><th>Prix HT</th><th>Prix TTC</th><th>Date de Mise en vente</th><th>Résumé des articles</th><th>Type</th></tr>";
echo"<tr></tr>";
while($ligne=$result->fetch(PDO::FETCH_NUM))
{
echo "<tr>";
foreach($ligne as $valeur)
{
echo "<td style=\"background-color:white\"> $valeur </td>";
}
echo "</tr>";
}
echo "</table>";
}
$result->closeCursor();
$idcom=null;
}
?>
L’affichage de la table se passe sans problème, Et le pire, aucune erreur ne s’affiche à l’écran…en fait, rien ne se passe…
Voici la partie html du form.
<form action= "<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="application/x-www-form-urlencoded">
<fieldset>
<legend><b> Ajouter une ligne complète</b></legend>
<table>
<tr>
<td></td><td>N° Traçabilité</td><td></td><td></td><td>Désignation</td><td>Prix
HT</td><td>Prix TTC</td>
<td>Date de mise en vente</td><td>Résumé de l´article</td><td>Type</td>
</tr>
<tr>
<td><input type="hidden" name="id" value=""/></td><td><input type="text" name="tracabilite"
value=""/></td><td><input type="hidden" name="categorie" value="1"/></td><td><input
type="hidden" name="sous_categorie" value="1"/></td><td><input type="text" name="designation"
value=""/></td><td><input type="text" name="prix_ht" value=""/></td><td><input
type="text" name="prix_ttc" value=""/></td><td><input type="text" name="mev"
value=""/></td><td><input type="text" name="resume" value=""/></td><td><select
name="type"><option value=""></option><option value="1">Boeuf</option><option
value="2">Veau</option></select></td>
</tr>
</table>
<table>
<tr>
<td><input type="reset" value=" Effacer "/></td>
<td><input type="submit" value=" Ajouter " name="bouton_ajouter"/></td>
</tr>
</table>
</fieldset>
</form>
Et la partie php en dessous du form…
<?php
$id_ajouter=connexpdo('mabdd','myparam');
if (isset($_POST["bouton_ajouter"]))
{
if(!empty($_POST['tracabilite'])&& !empty($_POST['categorie'])&& !empty($_POST['sous_categorie'])&& !empty($_POST['designation'])&& !empty($_POST['prix_ht'])&& !empty($_POST['prix_ttc'])&& !empty($_POST['mev'])&& !empty($_POST['resume'])&& !empty($_POST['type']))
{
$ref_animal = $id_ajouter->quote($_POST['tracabilite']);
$categorie = $id_ajouter->quote($_POST['categorie']);
$sous_categorie = $id_ajouter->quote($_POST['sous_categorie']);
$type_article = $id_ajouter->quote($_POST['designation']);
$prix_ht = $id_ajouter->quote($_POST['prix_ht']);
$prix_ttc = $id_ajouter->quote($_POST['prix_ttc']);
$date_MEV = $id_ajouter->quote($_POST['mev']);
$resume = $id_ajouter->quote($_POST['resume']);
$designation = $id_ajouter->quote($_POST['type']);
//Requète SQL
$requete = $id_ajouter->exec("INSERT INTO table_articles (ref_animal, categorie, sous_categorie, type_article, prix_ht, prix_ttc, date_MEV, resume, designation) VALUES($ref_animal,$categorie,$sous_categorie,$type_article,$prix_ht,$prix_ttc,$date_MEV,$resume,$designation)");
$requete=$id_ajouter->query($requete);
}
}
$id_ajouter=null;
?>
Ma requète ne fonctionne pas, c’est le néant…Merci d’avance pour votre intervention…
Cordialement,
Bruno