Procedimiento almacenado
Estos procedimientos, se usan a menudo, pero no siempre, para realizar consultas SQL sobre los objetos de la base de datos de una manera abstracta, desde el punto de vista del cliente de la aplicación. Un procedimiento almacenado permite agrupar en forma exclusiva parte de algo específico que se desee realizar o, mejor dicho, el SQL apropiado para dicha acción.
Inyección SQL
No obstante es más recomendado usar alternativas que ofrecen consultas preparadas como la clase PDO. $statement = $pdo->prepare("SELECT * FROM usuarios WHERE nombre = :nombre"); $statement->bindParam(':nombre', $nombre_usuario); $statement->execute(); $result = $statement->fetch(); Y si se utiliza MySQLi... // Con funciones $conexion = mysqli_connect("host", "usuario", "clave", "bdd"); $query = mysqli_query($conexion, "SELECT * FROM usuarios WHERE nombre = '" . mysqli_real_escape_string($conexion, $nombre) . "'"); // Orientado a objetos heredando la clase: $query = $this->query("SELECT * FROM usuarios WHERE nombre = '" . $this->real_escape_string( $nombre ) . "'"); // Sin heredar la clase $query = $this->mysqli->query("SELECT * FROM usuarios WHERE nombre = '" . $this->mysqli->real_escape_string($nombre) . "'"); /* donde $this->mysqli es el enlace mysqli a la base de datos */ En lenguaje Java, se puede usar la clase PreparedStatement