如何在Joomla中使用预处理语句?

5 joomla

如何在joomla模型中使用Prepare方法?
例如在pdo中我们使用:

db->prepare('INSERT INTO tbl (`city`,`date`,`uid`,`title`) VALUES(:city,:date,:uid,:title)');  
Run Code Online (Sandbox Code Playgroud)

我怎么能在Joomla中做到这一点!

Lod*_*der 5

在Joomla中,您始终坚持使用适合支持的数据库类型的API,如下所示:

$db = JFactory::getDbo();

$query = $db->getQuery(true);
$columns = array('city', 'date', 'uid', 'title');
$values = array($db->quote('value1'), $db->quote('value2'), $db->quote('value3'), $db->quote('value4'));

// Prepare the insert query.
$query
    ->insert($db->quoteName('#__tablename')) //make sure you keep #__
    ->columns($db->quoteName($columns))
    ->values(implode(',', $values));

$db->setQuery($query);
$db->query();
Run Code Online (Sandbox Code Playgroud)

对于Joomla 3.x,您可以替换$db->query();$db->execute();