problème sql php

Petit nouveau ! | 2 Messages

23 janv. 2012, 19:51

j'ai un problème avec mon code php. je ne sais pas ou est l'erreur.

<?php


class Personne_Ajout {
var $username = "******";
var $password = "**********";
var $server = "*********";
var $port="";
var $databasename = "db659";
var $connection;


public function __construct() {
$this->connection = mysql_connect(
$this->server,
$this->username,
$this->password
);


}
public function getAjoutPersonne($selectedItem,$nomPersonne,$prenomPersonne,$presentPersonne,$voiturePersonne) {

mysql_select_db($this->databasename, $this->connection);

$sql="Select * from T_Personne where NomPersonne = '$nomPersonne'";
$result=@mysql_query($sql);
if ($result)
{
echo '<test>'test'</test>';
mysql_query(INSERT INTO T_Personne_has_T_Evenement
VALUES((Select Pk_Personne from T_Personne Where NomPersonne = '$nomPersonne'),
(Select Pk_Evenement from T_Evenement Where NomEvenement = '$selectedItem'),
$presentPersonne,$voiturePersonne))

}
else if(!$result){
echo "personne non créer";
mysql_query(INSERT INTO T_Personne VALUES($nomPersonne,$prenomPersonne))
mysql_query(INSERT INTO T_Personne_has_T_Evenement
VALUES((Select Pk_Personne from T_Personne Where NomPersonne = '$nomPersonne'),
(Select Pk_Evenement from T_Evenement Where NomEvenement = '$selectedItem'),
$presentPersonne,$voiturePersonne))
}

mysql_close();

}

voilà la class main:

<?php
include('Personne_Ajout.php');
$per = new Personne_Ajout();
var_dump($per->getAjoutPersonne($_POST['selectedItem'],$_POST['nomPersonne'],$_POST['prenomPersonne'],$_POST['presentPersonne'],$_POST['voiturePersonne']));
?>

}
?>

ViPHP
xTG
ViPHP | 7331 Messages

23 janv. 2012, 19:53

Bah figures toi que nous non plus... :mrgreen:

Vu qu'on a pas notre boule de cristal, nous renseigner sur ce qui ne fonctionne pas serait bien. ;)

Petit nouveau ! | 2 Messages

23 janv. 2012, 20:25

ben oui effectivement mais je voudrais juste savoir si le code est juste. je l'utilise via une application web. le main est appellé via une AS3.

ViPHP
xTG
ViPHP | 7331 Messages

23 janv. 2012, 20:52

Non il y a plusieurs choses qui ne vont pas.
Tout d'abord tes paramètres que tu passes à la fonction mysql_query() par exemple...
mysql_query(INSERT INTO T_Personne VALUES($nomPersonne,$prenomPersonne))
1) il manque un point-virgule à la fin de la ligne
2) tout mot sera considéré comme une constante... En PHP les chaînes de caractères sont entourées de quotes.
3) tu ne protèges pas les données injectées dans la requête => mysql_real_escape_string()

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 janv. 2012, 22:38

je trouve qu'xTg est bien sympa de te repondre, car tu copies/colles un pave de code (sans meme utiliser les balises qui pourraient le coloriser), et tu nous dit "il y a un probleme". Quel est-ce put*** de probleme? Pas un message d'erreur, ou une description de ce qui te semble bizarre ? Comment peut-on etre aussi vague, et demander aux gens de tout lire en esperant qu'ils devinent tout ce que doit faire ton code et trouvent toute les coquilles ? Ca me depasse...

Et meme pas bonjour ni merci :roll:

Merci de lire ce sujet donc (j'insiste) : sql-bases-donnees/php-sql-etapes-suivre ... 19378.html