problème connection base de donnée

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 : problème connection base de donnée

Re: problème connection base de donnée

par two3d » 11 déc. 2016, 12:44

Tu me rassure arthur!

Bon we!

Re: problème connection base de donnée

par @rthur » 09 déc. 2016, 17:02

Obsolète bientôt ? non tu déconne ??
Je te rassure, il n'est absolument pas prévu que PHP arrête le style procédural.

Re: problème connection base de donnée

par two3d » 09 déc. 2016, 16:33

Obsolète bientôt ? non tu déconne ??

Re: problème connection base de donnée

par Robervale » 09 déc. 2016, 10:19

http://php.net/manual/fr/mysqli.constru ... t-examples

Je préfère le style procédural, moins de "param" à renseigner je trouve
Mais ce style que t'apelle procédural est dépassé et sera obselète c'est pour cela on te demande de changer... et t'inquiète pour mois aussi sa parraissait compliquer mais ce n'est qu'une question d'habitude et de logique

Re: problème connection base de donnée

par two3d » 25 nov. 2016, 17:46

http://php.net/manual/fr/mysqli.constru ... t-examples

Je préfère le style procédural, moins de "param" à renseigner je trouve

Re: problème connection base de donnée

par kevin254kl » 24 nov. 2016, 11:26

utilise pdo ou mysqli, mysql est déprécié.

Code : Tout sélectionner

$user = ""; $pass =""; ... try { $bdd = new PDO('mysql:host=$host;dbname=dbname, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')); } catch (PDOException $e) { print "Erreur !: " . $e->getMessage() . "<br/>"; die(); }
après change tes requêtes en requête préparé.

Re: problème connection base de donnée

par ulquiorra » 24 nov. 2016, 11:10

Merci pour ta réponse rapide.

J'avoue que c'est une erreur à la con. (mon fichier fonction.php était bien là mais dans mon include j'avais mis fonctions.php).

Maintenant quand je clique sur ok dans mon formulaire les données vont bien dans ma base de donnée mais une erreur s'affiche quand-même.
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\php\fonction.php on line 3
Call Stack
# Time Memory Function Location
1 0.0000 258032 {main}( ) ..\abonnement.php:0
2 0.0010 261984 connectMaBase( ) ..\abonnement.php:51
3 0.0010 262272 mysql_connect ( ) ..\fonction.php:3

PS : J'ai remis "localhost" dans ma function connectMaBase()

Re: problème connection base de donnée

par @rthur » 24 nov. 2016, 10:21

Bonjour,

L'avantage du PHP c'est qu'il y a des messages d'erreurs très explicites donc il faut toujours s'y intéresser pour comprendre le problème.
Dans tonc as :
include(fonctions.php): failed to open stream: No such file or directory in C:\wamp\www\php\abonnement.php on line 2
:arrow: 1) Le problème se situe dans le fichier abonnement.php à la ligne 2
:arrow: 2) Tu fais appel à la fonction include(fonctions.php) qui permet d'inclure un fichier php dans un autre fichier php
:arrow: 3) PHP te remonte une erreur car "No such file or directory" => le fichier fonctions.php n'existe pas dans le répertoire C:\wamp\www\php\

problème connection base de donnée

par ulquiorra » 24 nov. 2016, 10:08

Bonjour j'essaye d'apprendre le php tout seul. Je suis en train de suivre des tutos sur internet, je suis en train de faire un tp. C'est un remplissage de formulaire qui doit s'enregistrer dans une base de donnée mais j'ai plusieurs erreurs.

Warning: include(fonctions.php): failed to open stream: No such file or directory in C:\wamp\www\php\abonnement.php on line 2
Warning: include(): Failed opening 'fonctions.php' for inclusion (include_path='.;C:\php\pear') in C:\wamp\www\php\abonnement.php on line 2
Ca se sont les deux erreurs que j'ai quand je lance ma page.

Fatal error: Call to undefined function connectMaBase() in C:\wamp\www\php\abonnement.php on line 51
Et ca c'est l'erreur que j'ai quand je clique sur "OK" sur mon formulaire.

Et Voilà le code
<?php
include("fonctions.php");
 
/*ECRAN QUI S AFFICHE SI L ON A CLIQUE OK*/
if (isset ($_POST['valider'])){
    //On récupère les valeurs entrées par l'utilisateur :
    $civ=$_POST['civilite'];
    $nom=$_POST['nom'];
    $prenom=$_POST['prenom'];
    $age=$_POST['age'];
    $adresse=$_POST['adresse'];
    $CP=$_POST['CP'];
    $ville=$_POST['ville'];
    $tel=$_POST['tel'];
    $abo=$_POST['abo'];
 
    //On affiche l'écran de rappel
    //gérer le féminin
    $e='';
    if(($civ=='Mme')||($civ=='Mlle')){
        $e='e';
    }
    //gérer le nom complet du magazine
 
    if ($abo=='main'){
        $mag='J\'ai la main verte.';
    }
    elseif ($abo=='pied'){
        $mag='J\'ai le pied marin.';
    }
    elseif ($abo=='oeil'){
        $mag='J\'ai l\'oeil vif.';
    }
    else{
        $mag='J\'ai la rate qui se dilate.';
    }
 
    echo'<h2>VOUS &Ecirc;TES :</h2>';
    echo $civ.' '.$nom.' '.$prenom.', ag&eacute;'.$e.' de '.$age.' ans.<br/><br/>
    <strong>Votre adresse :</strong><br/>'.
    $adresse.'<br/>'.
    $CP.' '.$ville.'<br/><br/>
    <strong>Votre t&eacute;l&eacute;phone : </strong>'.$tel.'<br/><br/>';
    echo'<h2>VOUS AVEZ CHOISI DE VOUS ABONNER &Agrave;</h2>';
    echo'<h3>'.$mag.'</h3><br/>
    <h4>Merci de vous &ecirc;tre abonn&eacute;'.$e.' &agrave; notre magazine !</h4>';
 
    //On alimente la base de données
 
    //On se connecte
    connectMaBase();
 
    //On prépare la commande sql d'insertion
    $sql = 'INSERT INTO Abonnes VALUES("","'.$civ.'","'.$nom.'","'.$prenom.'","'.$age.'","'.$adresse.'","'.$CP.'","'.$ville.'","'.$tel.'","'.$abo.'")'; 
 
    /*on lance la commande (mysql_query) et au cas où, 
    on rédige un petit message d'erreur si la requête ne passe pas (or die) 
    (Message qui intègrera les causes d'erreur sql)*/
    mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
 
    // on ferme la connexion
    mysql_close();
}
 
/*ECRAN QUI S AFFICHE SI L ON N A RIEN CLIQUE DONC A L ARRIVEE SUR LA PAGE*/
/*SEULE LA CONDITION ELSE EST DANS DES BALISES PHP PUIS LA PAGE HTML REPREND SON COURS*/
else{
?>
<html>
    <head><title>S'abonner à l'un de nos magazines</title></head>
    <body>
        <h1>POUR VOUS ABONNER :</h1>
 
        <form name="inscription" method="post" action="abonnement.php">
 
            <h2>Veuillez saisir vos donn&eacute;es d'identit&eacute; :</h2>
            <input type="radio" name="civilite" value="M"/>M.
            <input type="radio" name="civilite" value="Mme"/>Mme
            <input type="radio" name="civilite" value="Mlle"/>Mlle <br/>
            Nom : <input type="text" name="nom"/> <br/>
            Pr&eacute;nom :<input type="text" name="prenom"/> <br/>
            &Acirc;ge : <input type="text" name="age"/><br/>
            Adresse : <input type="text" name="adresse"/> <br/>
            Code Postal : <input type="text" name="CP" maxlength="5"/> <br/>
            Ville : <input type="text" name="ville"/> <br/>
            Num&eacute;ro de t&eacute;l&eacute;phone personnel : <input type="text" name="tel" maxlength="10"/> <br/>
 
            <h2>Veuillez cocher le magazine choisi :</h2>
 
            <input type="radio" name="abo" value="main"/>J'ai la main verte. <br/>
            <input type="radio" name="abo" value="pied"/>J'ai le pied marin. <br/>
            <input type="radio" name="abo" value="oeil"/>J'ai l'oeil vif. <br/>
            <input type="radio" name="abo" value="rate"/>J'ai la rate qui se dilate. <br/>
 
            <input type="submit" name="valider" value="OK"/>
 
        </form>
        <?php
       //Bien sûr il faut penser à fermer l'accolade de notre condition d'affichage
        }
        ?>
    </body>
</html>
Et voilà la fonction pour la connection a la db (sur une autre page)
<?php
function connectMaBase(){
    $base = mysql_connect ('mysql wampserver', 'root', '');  
    mysql_select_db ('MaBase', $base) ;
}
?>
Si quelqu'un sait m'aider, merci beaucoup
PS: ne faites pas attention à l'orth^^