pb pour integrer des données via php dans une base mySql

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 : pb pour integrer des données via php dans une base mySql

Re: pb pour integrer des données via php dans une base mySql

par Abdel5onedu91 » 10 févr. 2012, 13:03

Salut
Merci bcp pr la réponse
Je vais tester ta solution.
Désolé pour la présentation de mon post initiale, .... erreur de débutant.
Etant pris par le temps, pour mon probleme initiale, j'ai contourner en utiliser la fonction EOT.
Et là, oh miracle, ça marche :-)
Encore merci Ryle
	public function save ($ticket){
		/*$ticket1 = new Ticket();*/
		$ticketID=($ticket->getApplicationName());
		$applicationName=($ticket->getApplicationName());
		$login=($ticket->getLogin());
		$priority=($ticket->getPriority());
		$type=($ticket->getType());
		$creationDate=($ticket->getCreationDate());
		$oneLiner=($ticket->getOneLiner());
		$detailedDescription=($ticket->getDetailedDescription());
		$attachmentName=($ticket->getAttachmentName());
		
		$request =<<<EOT
		INSERT INTO $this->TABLE_NAME (ticketID, applicationName, login, priority, type, creationDate, oneLiner, detailedDescription, attachmentName) 
		VALUES ('', '$applicationName', '$login', $priority, '$type', '$creationDate', '$oneLiner', '$detailedDescription', '$attachmentName')
EOT;
		 mysql_query($request) or die ('Erreur '.mysql_errno().' : ' . mysql_error()); 
		}

Re: pb pour integrer des données via php dans une base mySql

par Ryle » 08 févr. 2012, 22:17

Sors tes variables et tes appels de méthodes de tes chaines, cela sera plus lisible et devrait mieux fonctionner :)
A noter également que tu as des apostrophes mal placées dans ta requête sql.
$query="INSERT INTO " . $this->TABLE_NAME . " (ticketID, applicationName, login, priority, type, creationDate, oneLiner, detailedDescription, attachmentName) 
                VALUES ('', 
                '" . $this->applicationName() . "',
                '" . $ticket->getLogin() . "',
                '" . $ticket->getPriority() . "',
                '" . $ticket->getType() . "',
                '" . $ticket->getCreationDate() . "',
                '" . $ticket->getOneLiner() . "',
                '" . $ticket->getDetailedDescription() . "',
                '" . $ticket->getAttachmentName() . "')";
                $request = mysql_query($query); 

pb pour integrer des données via php dans une base mySql

par Abdel5onedu91 » 08 févr. 2012, 15:41

pb pour integrer des données via php dans une base mySql


Bonjour

J'ai un petit soucis, j'aurais besoin d'aide svp.
(Je suis débutant en php).
J'ai une base mysql "yahd" avec une table ticket dans ma base.
champs de ma table:
ticketID (int, en auto increment), applicationName, login, priority, type, creationDate, Onliner, detailDescription, attachmentName

Je recupere des données via un formulaire html que je souhaite integrer
les données réccupérées me serve a créer une instance de ma class TIcket, constructeur:
	function __construct($applicationName, $login, $priority, $type, $creationDate, $oneLiner, $detailedDescription, $attachmentName = '', $ticketID = -1) 
Je n'arrive pas a ecrire ma fonction save (t$ticket) qui doit faire un insert sur ma table (SANS UTILISER DE PDO).
Cette methode fait partie de la class MySQLTicketDAO.class.php dont le début est:
   include_once 'mysql.conf.php';
   @mysql_pconnect($GLOBALS['g_Host'], $GLOBALS['g_User'], $GLOBALS['g_Password']) or die ("Connection impossible");
   @mysql_select_db($GLOBALS['g_DbName']);
   if ( mysql_errno() != 0 ) echo "Error : " . mysql_error();

   include_once 'Ticket.class.php';
   include_once 'TicketDAO.class.php';

   class MySQLTicketDAO extends TicketDAO {
	private $TABLE_NAME = 'ticket';
	private $COLUMN_NAMES = ' ticketID , applicationName , login , priority , type , creationDate , oneLiner , detailedDescription , attachmentName ';

   public function save ($ticket){
		$query="INSERT INTO $this->TABLE_NAME (ticketID, applicationName, login, priority, type, creationDate, oneLiner, detailedDescription, attachmentName) 
		VALUES ('', 
		'$this->applicationName()',
		'$ticket->getLogin()',
		'$ticket->getPriority()',
		'$ticket->getType()',
		'$ticket->getCreationDate(),'
		'$ticket->getOneLiner()',
		'$ticket->getDetailedDescription()',
		'$ticket->getAttachmentName())";
		$request = mysql_query($query); 
		
				echo 'ticket est bien sauvegardé!';
		}
	

....
voici les message d'erreur qu'il me renvoie:

Notice: Undefined property: MySQLTicketDAO::$applicationName in C:\wamp\www\tpdsi\tp5\MySQLTicketDAO.class.php on line 43......
Notice: Undefined property: Ticket::$getLogin in C:\wamp\www\tpdsi\tp5\MySQLTicketDAO.class.php on line 44..
Notice: Undefined property: Ticket::$getPriority in C:\wamp\www\tpdsi\tp5\MySQLTicketDAO.class.php on line 45...
Notice: Undefined property: Ticket::$getType in C:\wamp\www\tpdsi\tp5\MySQLTicketDAO.class.php on line 46...
Notice: Undefined property: Ticket::$getCreationDate in C:\wamp\www\tpdsi\tp5\MySQLTicketDAO.class.php on line 47...
idem pour: Ticket::$getOneLiner, Ticket::$getDetailedDescription, property: Ticket::$getAttachmentName,