Partage
  • Partager sur Facebook
  • Partager sur Twitter

Se connecter a un base de donnee

transformer ile ligne de commande de connexion PDO en MySql

    8 janvier 2011 à 17:58:39

    Bonjour je suis dans la mouisse

    J'ai besoin de me connecter a une base de donnée mais M@theo ma juste appris a me connecter en PDO mais je crois que le serveur veut pas comment faire ??

    Voila le message d'erreur :
    Fatal error: Class 'PDO' not found in /home/a4179342/public_html/certification.php on line 104

    et voila le code que j'utilise:(le mdp est cacher ;))


    <?php
    try
    {	
       
        $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    	$bdd = new PDO('mysql:host=mysql11.000webhost.com;dbname=a4179342_certif', 'a4179342_certif', '*************', $pdo_options);
        
           $reponse = $bdd->query('SELECT * FROM test ORDER BY message');
    
    
            while ($donnees = $reponse->fetch())
        {
        ?>
    
    • Partager sur Facebook
    • Partager sur Twitter
      8 janvier 2011 à 18:49:10

      bonjour,
      eh oui! Tu dois tout réapprendre.
      Non je plaisante.
      Si tu as bien compris le principe d'une application qui "attaque" une BD, tu es capable de coder en .NET, en Java ...
      Il faut se connecter, exécuter un ordre SQL, ...
      Maintenant ton problème immédiat c'est de passer de l'API PDO à l'API mysql_, parce ton fournisseur n'a pas activé PDO.
      No problemo.
      Tu lis une doc mysql_ ("officielle" de préférence) genre http://www.php.net/manual/fr/ref.mysql.php et tu adaptes.
      • Partager sur Facebook
      • Partager sur Twitter
        8 janvier 2011 à 18:52:50

        Meric a toi je vait essaye de trouver ca (j'avoue j'aurait prefere un bout de code tout fait , Mis comme on dit c'est en forgean qu'on devien forgeron merci)
        • Partager sur Facebook
        • Partager sur Twitter
          8 janvier 2011 à 18:56:27

          re,
          un script (presque) tout fait ... parce qu'on est samedi
          <?php
          	header("Content-Type: text/html;charset=UTF-8");
          
          	// --- Connexion au serveur MySQL
          	$lien = mysql_connect("localhost","root","") or die("Connexion impossible");
          
          	// --- Sélection de la base mysql
          	mysql_select_db("cours", $lien) or die("Selection BD impossible");
          
          	// --- Exécuter une requête
          	$lsSql = "SELECT * FROM villes";
          	$curseur = mysql_query($lsSql, $lien) or die("Extraction impossible");
          
          	// --- Boucle de balayage
          	while($enr = mysql_fetch_row($curseur))
          	{
          		print("$enr[0] – $enr[1] <br />");
          	}
          ?>
          

          mais il pourrait y avoir plein de variantes ... celui-ci c'est celui de l'apéro!
          • Partager sur Facebook
          • Partager sur Twitter
            8 janvier 2011 à 20:09:44

            Merci connection reussi maintenant ca m'affiche ca


            Fatal error: Call to a member function prepare() on a non-object in /home/a4179342/public_html/test_post.php on line 28

            voila le code
            <?php
            // Connexion à la base de données
            
            	header("Content-Type: text/html;charset=UTF-8");
            
            	// --- Connexion au serveur MySQL
            	$lien = mysql_connect("mysql11.000webhost.com","a4179342_certif","*****") or die("Connexion impossible");
            
            	// --- Sélection de la base mysql
            	mysql_select_db("a4179342_certif", $lien) or die("Selection BD impossible");
            
            	// --- Exécuter une requête
            	$lsSql = "SELECT * FROM test";
            	$curseur = mysql_query($lsSql, $lien) or die("Extraction impossible");
            
            	// --- Boucle de balayage
            	while($enr = mysql_fetch_row($curseur))
            	{
            		print("$enr[0] – $enr[1] <br />");
            	}
            
                
                // Insertion du message à l'aide d'une requête préparée
               $req = $bdd->INSERT('INSERT INTO test (pseudo, message, commentaire, date) VALUES(?, ?, ?, ?)');  
               $req->execute(array($_POST['pseudo'], $_POST['message'], $_POST['commentaire'], $_POST['date'],));
                
                // Redirection du visiteur vers la page 
                header('Location: certification.php');
            
            ?>
            
            • Partager sur Facebook
            • Partager sur Twitter
              9 janvier 2011 à 21:15:16

              bonjour,
              tu ne peux pas mélanger PDO et mysql_.
              Donc oublie PDO ... pour l'instant.
              Pour un ordre SQL c'est mysql_query, que ce soit un SELECT ou un ordre de mise à jour.
              Les requêtes préparées-paramétrées n'existent pas.
              Mais tu peux utiliser les procédures stockées.
              cf la doc http://www.php.net/manual/fr/ref.mysql.php avec toutes les fonctions mysql_.
              • Partager sur Facebook
              • Partager sur Twitter
                9 janvier 2011 à 22:16:56

                $req = $bdd->mysql_query INSERT('INSERT INTO test (pseudo, message, commentaire, date) VALUES(?, ?, ?, ?)');  
                   $req->mysql_query execute(array($_POST['pseudo'], $_POST['message'], $_POST['commentaire'], $_POST['date'],));
                


                c'est ca ? si j'ai bien comprit la doc ^^
                • Partager sur Facebook
                • Partager sur Twitter
                  10 janvier 2011 à 21:23:28

                  Je comprend vraiment pas

                  Parse error: syntax error, unexpected T_STRING in /home/a4179342/public_html/test_post.php on line 25


                  mysql_query('INSERT INTO 'test' ("pseudo", "message", "commentaire", "date" ) VALUES("pseudo", "message", "commentaire", "date")");
                  
                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 janvier 2011 à 9:22:51

                    bonjour
                    ah oui!
                    L'abus de ' et de " est déconseillé pour SQL :)
                    Les " autour de ton ordre SQL.
                    Des ` (back quote) autour des colonnes de tables qui "posent problème".
                    Au passage change le nom de la colonne date (c'est un type) et appelle-là date_message ...
                    Les ' autour des valeurs de type chaînes,.
                    mysql_query("INSERT INTO test(pseudo, message, commentaire,`date`) VALUES('pseudo', 'message', 'commentaire', 'date')");
                    

                    De plus dans ton script 'pseudo' sera remplacer par une variable du genre '$pseudo' que tu auras récupéré du formulaire ... idem pour les autres valeurs.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      11 janvier 2011 à 17:16:02

                      Merci je croi c bon ca marche ^^ mais ca me dit ca=>

                      1 �
                      Erreur SQL !
                      Query was empty

                      je debute carrement j'ai juste apris avec les tuto de M@theo ^^
                      • Partager sur Facebook
                      • Partager sur Twitter
                        11 janvier 2011 à 19:24:52

                        re,
                        envoie tout ton script!
                        • Partager sur Facebook
                        • Partager sur Twitter
                          11 janvier 2011 à 19:30:11

                          alors

                          C'est uen page php ou son regrouper dans un tableaux les donnees insere par les internaute par un formulaire

                          La page ou se trouve le tableau:
                          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                          <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
                              <head>
                                  <title>Panel De Certification Tchat-Cam-Délire</title>
                                  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                              </head>
                              <style type="text/css">
                            
                              form
                              {
                                  text-align:center;
                          		input-color:red;
                              }
                          	body
                          	{
                          	background-color:black;
                          	text-align:center;
                          	}
                          	p,TD,TH,TR,CAPTION,TABLE,form
                          	{
                          	color:red;
                          	text-align:center;
                          	}
                              </style>
                              <body>
                          	
                              
                              <script type"text/javascript">
                          			/*
                          			/ ©2006 FBNKCMaster 
                          			/ J'rigole ;-p c'est libre utilisez le comme vous voulez!! 
                          			*/			function trouverMots(chaine)
                          			{
                          				// On vide le champs de saisi, sinon ça va nous créer des problemes
                          				document.getElementById('rechDsPg').value = '';
                          				// On définit les variables qui constituent la balise de colorisation
                          				var ouvrirBalise = '<span style="background-color: ';
                          				var frmOvrBalise = ';">';
                          				var fermerBalise = '</span>';
                          				// la variable doc qui contient l'html du la partie body
                          				var doc = document.body.innerHTML;
                          				// j  pour l'incrementation
                          				var j = 0;
                          				// un tableau de couleurs, j'ai choisi huits couleurs à vous de mettre autant que vous voulez
                          				var arrayClrs = new Array("#FFFF00", "#66FFFF", "#33FF33", "#3333FF", "#FF9900", "#FF33FF", "#CCFF00", "#FF0000");
                          				// On découpe la chaine à chercher et on recupère un tableau de mots
                          				tablMots = chaine.split(' ');
                          				// On essaye d'effacer la colorisation existante suite à la recherche précédente
                          				rchSupp = new RegExp( '(' + ouvrirBalise + '[^><]*>)' , 'gi');
                          				doc = doc.replace(rchSupp, '');
                          				rchSupp = new RegExp( '(' + fermerBalise + ')' , 'gi');
                          				doc = doc.replace(rchSupp, '');
                          				// Ici on remplace chaque mot trouvé par lui même entouré de la balise de colorisation
                          				for (i = 0; i < tablMots.length; i++)
                          				{
                          					// Si j dépasse le nombre de couleurs que nous avons définit dans le tableau on remet tout à zéro
                          					if (j >= arrayClrs.length) {j = 0;}
                          					// Le mot cherché doit avoir plus de deux caractères et ne soit pas une chaine vide
                          					if (tablMots[i] != '' && tablMots[i].length > 2)
                          					{
                          						// Recgercge du mot par expression relationnelle et remplacement dans doc
                          						rch = new RegExp( '(' + tablMots[i] + ')' , 'gi');
                          						ouvrBalise = ouvrirBalise + arrayClrs[j] + frmOvrBalise;
                          						doc = doc.replace(rch, ouvrBalise + '$1' + fermerBalise);
                          						j += 1;// Incrementation de j le nombre de mots cherchés qui répondent aux conditions (!= '' et > 2)
                          					}
                          				}	
                          				// On réecrit la partie body
                          				document.body.innerHTML = doc;
                          			}   
                          		</script>
                          	</head>
                          	<body>    
                          		<p>
                          			Rechercher : 
                          			<input id="rechDsPg" type="text" value="" name="rechDsPg" />
                          			<input type="button" onclick="trouverMots(document.getElementById('rechDsPg').value);" value="OK">
                          		</p>
                          		<p>  
                          			Effectuer una recherche de pseudo , Si le pseudo n'as pas déja étais certifier ajourter le en cliquant sur Ajouter Pseudo 
                          		</p> 
                          	</body>
                          <div style="display:inline-block;">
                          	<script type="text/javascript" src="http://www.supportduweb.com/page/js/flashobject.js"></script>
                              <div id="bouton_82122" style="display:inline-block;">
                          		
                              </div>
                          	
                              <center><a onclick="window.open(this);return false;" href="certification_ajouter.php"><img style="border:0px;" src="http://images.supportduweb.com/bouttons.php?frm=1&amp;btn_type=13&amp;txt=Ajouter+un+pseudo" onmouseover="this.src='http://images.supportduweb.com/bouttons.php?frm=2&amp;btn_type=13&amp;txt=Ajouter+un+pseudo'" onmouseout="this.src='http://images.supportduweb.com/bouttons.php?frm=1&amp;btn_type=13&amp;txt=Ajouter+un+pseudo';" alt="Ajouter+un+pseudo" /></a>
                          <script type="text/javascript">
                          img=new Image();
                          img.src= "http://images.supportduweb.com/bouttons.php?frm=2&amp;btn_type=13&amp;txt=Ajouter+un+pseudo";
                          </script></center>
                          </div>
                          	
                          	
                          	
                          
                          
                          <?php
                          	header("Content-Type: text/html;charset=UTF-8");
                          
                          	// --- Connexion au serveur MySQL
                          	$lien = mysql_connect("mysql11.000webhost.com","a4179342_certif","********") or die("Connexion impossible");
                          
                          	// --- Sélection de la base mysql
                          	mysql_select_db("a4179342_certif", $lien) or die("Selection BD impossible");
                          
                          	// --- Exécuter une requête
                          	$lsSql = "SELECT * FROM test";
                          	$curseur = mysql_query($lsSql, $lien) or die("Extraction impossible");
                          
                          	// --- Boucle de balayage
                          	while($enr = mysql_fetch_row($curseur))
                          	{
                          		print("$enr[0] – $enr[1] <br />");
                          	}
                          ?>
                           
                          
                          
                                 <center><TABLE width="65%" height="114" border="5">
                              <THEAD align="right" style="font-family:monaco; color:blue">
                              <TR>
                                  <center><TD width="13%" height="23">Modérateur</TD>
                                  <TD width="79%">Pseudo & Commentaire</TD>
                          		<TD width="8%" height="23">Date</TD></center>
                                </TR>
                              </THEAD>
                              <TBODY align="center" style="font-family:courier">
                              <TR>
                                  <center><TD height="75"><?php echo $donnees['pseudo']; ?></TD>
                                  <TD><?php echo $donnees['message']; ?> | <?php echo $donnees['commentaire']; ?>	</TD>
                          		<TD height="75"><?php echo $donnees['date']; ?></TD></center>
                                </TR>
                            
                              </TBODY>
                              
                          </TABLE></center>
                          


                          Puis en cliquant sur le lien il sont rediriger vers le 'formulaire' que voici:
                          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                          <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
                              <head>
                                  <title>Panel De Certification Tchat-Cam-Délire</title>
                                  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                              </head>
                              <style type="text/css">
                            
                              form
                              {
                                  text-align:center;
                          		input-color:red;
                              }
                          	body
                          	{
                          	background-color:black;
                          	text-align:center;
                          	color:red;
                          	}
                          	p,TD,TH,TR,CAPTION,TABLE,form,echo
                          	{
                          	color:red;
                          	text-align:center;
                          	}
                              </style>
                              <body>
                          	<p>
                          On est le <?php echo date("d-m-Y"); // affiche par exemple "18-06-2003"?> 
                          </p>
                          
                          
                          
                          
                          
                          
                          
                              
                              <form action="test_post.php" method="post">
                                  <p>
                                  <label for="pseudo">Pseudo Modo</label> : <center><input type="text" name="pseudo" id="pseudo" /></center>
                                  <label for="message">Pseudo Useur</label> :  <center><input type="text" name="message" id="message" /></center>
                                  <label for="message">date</label> :  <center><input type="text" name="date_msg" id="date_msg" value='<?php echo date("d-m-Y");?>' /></center>
                          		<label for="message">Commentaire</label> :  <center><textarea name="commentaire" id="commentaire"></textarea></center>
                                  <input type="submit" value="Envoyer" />
                          	</p>
                              </form><br />
                          



                          et une fois le formulaire remplie ca executer la requete et ca rediriger vers la premiere page (celle du tableau) avec ca :

                          <?php
                          // Connexion à la base de données
                          
                          	header("Content-Type: text/html;charset=UTF-8");
                          
                          	// --- Connexion au serveur MySQL
                          	$lien = mysql_connect("mysql11.000webhost.com","a4179342_certif","********************") or die("Connexion impossible");
                          
                          	// --- Sélection de la base mysql
                          	mysql_select_db("a4179342_certif", $lien) or die("Selection BD impossible");
                          
                          	// --- Exécuter une requête
                          	$lsSql = "SELECT * FROM test";
                          	$curseur = mysql_query($lsSql, $lien) or die("Extraction impossible");
                          
                          	// --- Boucle de balayage
                          	while($enr = mysql_fetch_row($curseur))
                          	{
                          		print("$enr[0] – $enr[1] <br />");
                          	}
                          
                              
                              // Insertion du message à l'aide d'une requête préparée
                             
                            mysql_query("INSERT INTO test(pseudo, message, commentaire,`date`) VALUES('$pseudo', '$message', '$commentaire', '$date_msg')");
                          
                          
                            mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                              
                           
                          	
                              // Redirection du visiteur vers la page 
                              header('Location:certification.php');
                          
                          ?>
                          



                          • Partager sur Facebook
                          • Partager sur Twitter
                            11 janvier 2011 à 19:43:48

                            re, normal
                            relis ton script 3 aux lignes 25 et 28.
                            La ligne 25 OK mais la ligne 28 KO.
                            Cette ligne 28 utilise $sql qui est vide et ne sert à rien puisque tu viens de faire ton insertion avant.
                            Au passage
                            // Insertion du message à l'aide d'une requête préparée
                            Ta requête n'est pas une requête préparée. Cela n'existe pas avec la biblio mysql_
                            • Partager sur Facebook
                            • Partager sur Twitter
                              11 janvier 2011 à 19:51:20

                              recapitulatif

                              Pour me connecter au serveur
                              $lien = mysql_connect("localhost","root","") or die("Connexion impossible");
                              


                              ensuite je selectionne ma base Mysql
                              mysql_select_db("test", $lien) or die("Selection BD impossible");
                              



                              et je demande a ma base de m'afficher tout ce que la base "test" contient
                              $sql = 'SELECT * FROM test'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
                              



                              puis je recupere le reulta sous forme de tableau
                              $data = mysql_fetch_array($req);
                              








                              • Partager sur Facebook
                              • Partager sur Twitter

                              Se connecter a un base de donnee

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown