IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

C R U D les requêtes mysqli sont-elles correctes.


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut C R U D les requêtes mysqli sont-elles correctes.
    Les codes suivant sont ils corrrect.

    Crud
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
          $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $db);
          $sql = "INSERT INTO orders (conducteur, lieudepart, lieuarrive, participation, datedepart, datearrive)
    VALUES (".$conducteur.",".$lieudepart.",".$lieuarrive.",".$participation.",".$datedepart.",".$datearrive.")";
    cRud
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query = "SELECT * FROM orders WHERE datedepart BETWEEN '".$_POST["datedepart"]."' AND '".$_POST["datearrive"]."'ORDER BY order_number desc ";
        $result = mysqli_query($con, $query);
    crUd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req = "UPDATE orders SET conducteur = ".$conducteur." , lieudepart = ".$lieudepart.", lieuarrive = ".$lieuarrive.", participation = ".participation.", datedepart = ".$datedepart.", datearrive = ".datearrive." WHERE order_number = ".$order_number."";
            $mysqli = new mysqli('127.0.0.1', $dbuser, $dbpass, $db);
    cruD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req = "DELETE FROM `orders` WHERE `orders`.`order_number` = '$order_number'";
        $mysqli = new mysqli('127.0.0.1', 'root', 'root', 'local');

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 313
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 313
    Billets dans le blog
    17
    Par défaut
    1. Pourquoi utiliser mysqli et pas PDO ?
    2. Pourquoi nous présenter parfois mysqli_query(), parfois juste l'instanciation de mysqli ?
    3. Les valeurs sont parfois délimitées par des ' d'autres fois non, ce qui laisse penser que les valeurs ne sont pas toujours échappées => mysqli_real_escape_string()
    4. Parfois les noms de tables/colonnes sont délimitées par des ` d'autres fois non => Il faut harmoniser, et tant qu'à faire utiliser le délimiteur SQL standard " au lieu du propriétaire MySQL `
    5. Tu devrais présenter tes requêtes avec HereDoc (<<<), bien plus lisible
    6. Le INSERT gagne à être présenté avec la syntaxe propriétaire MySQL reprenant celle du UPDATE, surtout s'il y a beaucoup de colonnes

    Par exemple, ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "INSERT INTO orders (conducteur, lieudepart, lieuarrive, participation, datedepart, datearrive)
    VALUES (".$conducteur.",".$lieudepart.",".$lieuarrive.",".$participation.",".$datedepart.",".$datearrive.")";
    Deviendrait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $conducteur = mysqli_real_escape_string($mysqli, $_POST['conducteur']);
    // ...
    $sql = <<<SQL
        INSERT INTO orders
        SET
            conducteur = {$conducteur},
            lieudepart = {$lieudepart},
            lieuarrive = {$lieuarrive},
            participation = {$participation},
            datedepart = {$datedepart},
            datearrive = {$datearrive}
        SQL;

  3. #3
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    Peut on faire plus simple.
    Il y a utilisation d'apel ajax.

    Mais dans un site local par wamp sans ajax tout fonctionne.
    En fait je n ai besoin que l insert.
    C'est que je veux juste me faire la main

  4. #4
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666

  5. #5
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 313
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 313
    Billets dans le blog
    17
    Par défaut
    Peut on faire plus simple.
    Il y a utilisation d'apel ajax.
    Multiplier les technos va complexifier la tâche.

    Citation Envoyé par Philcmoi Voir le message
    Quelle horreur

Discussions similaires

  1. Les normes W3C : sont-elles utiles ?
    Par sachav dans le forum Balisage (X)HTML et validation W3C
    Réponses: 121
    Dernier message: 30/01/2013, 17h17
  2. Les tablettes graphiques sont-elles confortables d'utilisation ?
    Par keokaz dans le forum Périphériques
    Réponses: 8
    Dernier message: 10/03/2009, 20h00
  3. Mes requêtes SQL sont-elles correctes ?
    Par romca dans le forum Langage SQL
    Réponses: 5
    Dernier message: 05/08/2008, 17h23
  4. Les actions Struts sont-elles multithread
    Par mrjeronimo dans le forum Struts 1
    Réponses: 3
    Dernier message: 20/05/2008, 13h53
  5. Application : Les procedures stockées sont-elles inévitables ?
    Par nytmare dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 19/11/2006, 18h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo