Code Duplication    Length = 22-25 lines in 2 locations

class/sql_generator.php 1 location

@@ 752-776 (lines=25) @@
749
	 * @return	string
750
	 * @see	GetSql()
751
	 */
752
	public function GetSqlPrepare($ar_config = array()) {
753
		$sql = $this->GetSql($ar_config);
754
		/* Old treatment
755
		// Notice: The simple treatment here may cause wrong when ? and : are original sql needed
756
		$sql = str_replace("'?'", '?', $sql);
757
		// Notice: For oracle, not tested yet.
758
		$sql = preg_replace('/\'(:[^\']+)\'/', '$1', $sql);
759
		*/
760
761
		// Better treatment
762
		// Remove duplicate ' in sql add by SqlGenerator,
763
		// Execute after Prepare will auto recoginize variant type and quote,
764
		// but notice, it's VAR TYPE and NOT DB COLUMN TYPE.
765
		// replaceQuote: The string used to escape quotes. Eg. double single-quotes for
766
		// Microsoft SQL, and backslash-quote for MySQL. Used by qstr.
767
		if ("''" == $this->oDb->replaceQuote)
768
			$s_quote = "'";
769
		else
770
			$s_quote = $this->oDb->replaceQuote;
771
		$sql = preg_replace(
772
			"/ {$s_quote}([\?\:\w\-_]+){$s_quote}([, ])/i",
773
			" $1$2", $sql);
774
775
		return $sql;
776
	} // end of function GetSqlPrepare
777
778
779
	/**

src/Fwlib/Db/SqlGenerator.php 1 location

@@ 464-485 (lines=22) @@
461
     * @param   array   $param
462
     * @return  string
463
     */
464
    public function getPrepared($param = [])
465
    {
466
        $sql = $this->get($param);
467
468
        // @codeCoverageIgnoreStart
469
        // Remove duplicate ' in sql add by SqlGenerator,
470
        if ("''" == $this->db->replaceQuote) {
471
            $quote = "'";
472
        } else {
473
            $quote = $this->db->replaceQuote;
474
        }
475
        // @codeCoverageIgnoreEnd
476
477
        // Remove quote
478
        $sql = preg_replace(
479
            "/([\s,\(]){$quote}([\?\:\w\-_]+){$quote}([\s,\)])/i",
480
            "$1$2$3",
481
            $sql
482
        );
483
484
        return $sql;
485
    }
486
487
488
    /**