Sono abbastanza nuovo di PDO e anche OOP con PHP in generale quindi per favore sii gentile :) Fondamentalmente sto cercando di creare un oggetto di connessione basato su PDO in modo che possa avere una connessione che chiamo attraverso il mio sito.Il modo migliore per creare una classe di connessione statica mysql PDO?
Ho bisogno di alcune istruzioni preparate che si limitino a cercare risultati diversi in base a un ID che passo usando lo stesso oggetto db che sto cercando di creare sotto.
Come faccio a impostare e accedere alla classe db I impostata di seguito e quindi utilizzare le funzioni al suo interno per estrarre le informazioni rilevanti di cui ho bisogno? Qualsiasi esempio sarebbe bello per farmi un'idea delle migliori pratiche, ecc.
Molte grazie in anticipo.
class db {
private static $connection;
private function __construct(){}
private function __clone(){}
private static function connect($db_server="localhost", $db_user="user", $db_pass="password") {
if(!$this->connection){
try{
$this->connection = new PDO($db_server, $db_user, $db_pass);
} catch (PDOException $e) {
$this->connection = null;
die($e->getMessage());
}
}
return $this->connection;
}
}
$dbh = new db::connect();
$stmt = $dbh->prepare("SELECT * FROM questions where id = ?");
if($stmt->execute(array($_REQUEST['testid']))) {
while ($row = $stmt->fetch()) {
print_r($row);
}
}
la pseudo-variabile $ questo non è disponibile all'interno di metodi statici e per proprietà statiche. Dovresti usare self :: $ property. Altrimenti dirà la proprietà db :: proprietà non definita – jscripter
@BubuDaba non modificherà il codice improprio nella domanda in quanto può rendere irrilevanti altre asnwers. Se hai un suggerimento per l'OP, scrivi una risposta o un commento –