WordPress.org

Make WordPress Core

Ticket #4553: prepared.diff

File prepared.diff, 889 bytes (added by markjaquith, 11 years ago)
  • wp-includes/wp-db.php

     
    116116                        return mysql_real_escape_string( $string, $this->dbh );
    117117        }
    118118
     119        /**
     120         * Escapes content by reference for insertion into the database, for security
     121         * @param string $s
     122         */
     123        function escape_by_ref(&$s) {
     124                $s = $this->escape($s);
     125        }
     126
     127        /**
     128         * Prepares a SQL query for safe use, using sprintf() syntax
     129         */
     130        function prepare($args=NULL) {
     131                if ( NULL === $args )
     132                        return;
     133                $args = func_get_args();
     134                $query = array_shift($args);
     135                array_walk($args, array(&$this, 'escape_by_ref'));
     136                return @call_user_func_array('sprintf', array_merge(array($query), $args));
     137        }
     138
    119139        // ==================================================================
    120140        //      Print SQL/DB error.
    121141