Génération d'id unique - Plantage serveur

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par SCN, 6 Décembre 2019.

  1. SCN
    SCN Nouveau WRInaute
    Inscrit:
    2 Décembre 2019
    Messages:
    13
    J'aime reçus:
    0
    Bonjour,
    Quand je lance ce script mon serveur plante.
    Code:
    <?php
    $db_user = 'user1';
    $db_pass = 'xxx';
    $db_host = 'localhost';
    $db_name = 'ref';
    try{
    $link = new PDO('mysql:host='.$db_host.';
    dbname='.$db_name.'; charset=utf8', $db_user, $db_pass);
    // Activation des erreurs PDO
    
    $link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH
    $link->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    
    } catch(PDOException $e) {
       die('Erreur : ' . $e->getMessage());
    }
    
    
    function code_acces($length=8){
        $chars = '0123456789abcdefghijklmnopqrstuvwxyz';
        $string = '';
        for($i=0; $i<$length; $i++){
            $string .= $chars[rand(0, strlen($chars)-1)];
        }
        echo $string.'<br />';
        $sth = $link->prepare('INSERT INTO `refs` (`id`, `person`, `referer_id`, `valid`) VALUES (NULL, ?, ?, ?)');
        $sth->execute(array($string,'1','0'));
    
    }
    code_acces();
    ?>
    Voyez-vous pourquoi ?
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 078
    J'aime reçus:
    295
    Je vois, je vois, je vois un error.log/ini_set('display_errors', 1) qui a la réponse.
     
  3. SCN
    SCN Nouveau WRInaute
    Inscrit:
    2 Décembre 2019
    Messages:
    13
    J'aime reçus:
    0
    Ahh merci beaucoup :)
    J'ai ajouté global $link; dans la fonction et tout fonctionne.
     
  4. passion
    passion WRInaute accro
    Inscrit:
    6 Janvier 2006
    Messages:
    3 818
    J'aime reçus:
    156
    Yo :)
    Y'a p'tit truc que je ne comprends pas sur ton "insert". Si je comprends bien, tu ajoutes un nouvel utilisateur.
    Théoriquement, chaque utilisateur a un ID qui lui est propre, non ?
    Donc ta table "ref" ne devrait-elle pas incrémenter à chaque insertion ? Au lieu de mettre NULL, quel est l'intérêt dans ces cas-là d'avoir un ID = NULL ??!!
    Ne serait-ce pas plutôt:
    Code:
    $sth = $link->prepare('INSERT INTO `refs` (`person`, `referer_id`, `valid`) VALUES (?, ?, ?)')
    Have fun ;)
     
  5. SCN
    SCN Nouveau WRInaute
    Inscrit:
    2 Décembre 2019
    Messages:
    13
    J'aime reçus:
    0
    Le champ ID est incrémenté, je pensais que quand je mettais null ca changeait pas l'incrementation.
     
Chargement...
Similar Threads - Génération unique Plantage Forum Date
Google Sheets et caractère "+" dans génération de QR Code YouTube, Google Images et Google Maps 15 Septembre 2020
Génération Pages Bidons (Erreur 404) sur Google Netlinking, backlinks, liens et redirections 8 Mars 2019
Service worker bloque génération PDF Développement d'un site Web ou d'une appli mobile 25 Janvier 2019
Génération d'url automatique - duplicate content Référencement Google 3 Avril 2018
Solution de génération adresse ip dynamique Netlinking, backlinks, liens et redirections 7 Juin 2016
Certificat SSL: generation CSR Administration d'un site Web 25 Mai 2016
A propos de la génération de thumbs Administration d'un site Web 12 Janvier 2015
Un crawler Orange : vers un Minitel nouvelle génération ? Autres moteurs de recherche connus 21 Novembre 2014
Génération automatique du titre wordpress ! Développement d'un site Web ou d'une appli mobile 14 Janvier 2014
Génération URLs pour un classement Débuter en référencement 16 Décembre 2013