Usando clase con PDO

Decidí usar PDO después de las recomendaciones aquí y encontré este código a continuación. ¿Esos códigos son lo suficientemente buenos para evitar la inyección de SQl? ¿Y la clase es mejor opción?

<?
class database {

private $hostname;
private $database;
private $username;
private $password;
private $pdo;
function __construct($hostname, $database, $username, $password) {

$this->pdo = new PDO("mysql:host={$this->hostname};port={$this->port};dbname={$this->database}", $this->username, $this->password, array(PDO::ATTR_PERSISTENT => true));

} catch(PDOException $e) {

print "<b>Error - Connection Failed: </b>" . $e->getMessage() . "<br/>";
die();
}
}

public function query($query, $bind = null) {
global $pdo;

$this->statement = $this->pdo->prepare($query);
$this->statement->execute($bind);
}



$date = date("Y-m-d H:i:s", time());

$database->query('INSERT INTO users_inactive(verCode, username, password, email, date) VALUES (?, ?, ?, ?, ?)', array($verCode, $username, $password, $email, $date));

$success[] = "You account has been created!";

?>

preguntado el 27 de julio de 12 a las 17:07

De un vistazo puedo detectar al menos 3 problemas con este código. No lo uses. -

Pregunta rápida: ¿realmente inicializar $database como herramienta de edición del database-clase objeto antes de usarlo? -

Sí, Palladium, el código funciona actualmente sin problemas $base de datos = nueva base de datos ("localhost", "prueba", "raíz", "rootpass"); -

1 Respuestas

Este código contiene errores de sintaxis, abreviaturas y globales. No, no es lo suficientemente bueno para usar.

Respondido 27 Jul 12, 17:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.