11
votes

Classe de connexion de base de données PHP

J'essaie d'obtenir un identifiant d'utilisateurs d'une base de données d'une classe, mais je n'ai pas très peu d'expérience avec des cours, comment puis-je continuer à obtenir l'UID à partir de la DB, puis retourner l'UID?

fondamentalement quelque chose comme ça, xxx

Comme je l'ai dit, je suis toujours nouveau aux classes, donc tout conseil ou aide serait grandement apprécié!

avance!


0 commentaires

6 Réponses :


4
votes
  • créer deux classes. Un pour travailler avec la base de données, deuxième pour la gestion des données utilisateur ou authentifiant.
  • pour SQL Classe Créer des méthodes Connectez (), Requête (), Fetch () etc.
  • pour la classe d'utilisateur Créer des méthodes Obtenez ($ ID), etc.

0 commentaires

9
votes

D'accord, un conseil:

fais tout pour une raison. N'utilisez pas de choses que vous ne connaissez pas. Aller et les apprendre à la place.

On peut vous donner une réponse à cette question spécifique, mais jusqu'à ce que vous ne sachiez pas ce que Orienté objet signifie et pourquoi il y a classes du tout, vous ne devriez pas les utiliser.


1 commentaires

Merci pour le conseil! Pour le moment, j'apprends comme je vais, c'est pourquoi j'avais besoin d'aide.



4
votes

Il y a un problème avec la façon dont votre code est écrit, pas avec la classe. Regardez de plus près de cette ligne:

$array = mysql_fetch_array($result);


0 commentaires

39
votes

Construisez d'abord une bibliothèque de classe MySQL ... Suite aux exigences telles que dans cet exemple de pièce: xxx pré>

et le fichier de configuration ... p>

<?php
class Dbconfig {
    protected $serverName;
    protected $userName;
    protected $passCode;
    protected $dbName;

    function Dbconfig() {
        $this -> serverName = 'localhost';
        $this -> userName = 'root';
        $this -> passCode = 'pass';
        $this -> dbName = 'dbase';
    }
}
?>


1 commentaires

FYI: Lorsque vous utilisez ce code, assurez-vous de valider les données des requêtes, car cela permettra une injection SQL. Néanmoins, j'aime l'approche même après les années :)



3
votes

essayer suivi:

ini_set("display_errors", 'off');
    ini_set("error_reporting",E_ALL);   

class myclass {
    function myclass()   {    
        $user = "root";
        $pass = "";
        $server = "localhost";
        $dbase = "";

           $conn = mysql_connect($server,$user,$pass);
           if(!$conn)
        {
            $this->error("Connection attempt failed");
        }
        if(!mysql_select_db($dbase,$conn))
        {
            $this->error("Dbase Select failed");
        }
        $this->CONN = $conn;
        return true;
    }
    function close()   {   
        $conn = $this->CONN ;
        $close = mysql_close($conn);
        if(!$close)
        {
            $this->error("Connection close failed");
        }
        return true;
    }       function sql_query($sql="")   {    
        if(empty($sql))
        {
            return false;
        }
        if(empty($this->CONN))
        {
            return false;
        }
        $conn = $this->CONN;
        $results = mysql_query($sql,$conn) or die("Query Failed..<hr>" . mysql_error());
        if(!$results)
        {   
            $message = "Bad Query !";
            $this->error($message);
            return false;
        }
        if(!(eregi("^select",$sql) || eregi("^show",$sql)))
        {
            return true;
        }
        else
        {
            $count = 0;
            $data = array();
            while($row = mysql_fetch_array($results))
            {
                $data[$count] = $row;
                $count++;
            }
            mysql_free_result($results);
            return $data;
         }
    }      
} 
$obj = new myclass();
$obj->sql_query("");


0 commentaires

5
votes

Vous pouvez utiliser une classe de base de données personnalisée.
code: xxx


0 commentaires