选择语言 :

 Driver_Database_Driver_MySQLI::quote

Quote a value for an SQL query.

$db->quote(null); // 'NULL' $db->quote(10); // 10 $db->quote('fred'); // 'fred'

Objects passed to this function will be converted to strings. [Database_Expression] objects will use the value of the expression. [Database_Query] objects will be compiled and converted to a sub-query. All other objects will be converted using the __toString method.

string Driver_Database_Driver_MySQLI::quote( mixed $value )
uses
Database::escape

参数列表

参数 类型 描述 默认值
$value mixed Any value to quote
返回值
  • string
File: ./drivers/database/mysqli/mysqli.class.php
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
public function quote($value)
{
    if ($value === null)
    {
        return 'NULL';
    }
    elseif ($value === true)
    {
        return "'1'";
    }
    elseif ($value === false)
    {
        return "'0'";
    }
    elseif (is_object($value))
    {
        if ($value instanceof Database)
        {
            // Create a sub-query
            return '(' . $value->compile() . ')';
        }
        elseif ($value instanceof Database_Expression)
        {
            // Use a raw expression
            return $value->value();
        }
        else
        {
            // Convert the object to a string
            return $this->quote((string)$value);
        }
    }
    elseif (is_array($value))
    {
        return '(' . implode(', ', array_map(array($this, __FUNCTION__), $value)) . ')';
    }
    elseif (is_int($value))
    {
        return "'".(int)$value."'";
    }
    elseif (is_float($value))
    {
        // Convert to non-locale aware float to prevent possible commas
        return sprintf('%F', $value);
    }
 
    return $this->escape($value);
}