Php 如何使用多个值运行删除sql查询

Php 如何使用多个值运行删除sql查询,php,mysql,Php,Mysql,我想运行一个包含多个值的删除sql查询。但我不能这样做。所以我需要你的帮助 在controller.php页面中: function deleteFiles() { $mainframe = &JFactory::getApplication(); if ($this->_model->deleteFiles()) { $mainframe->enqueueMessage('Files deleted successfully'); } else { $mainfram

我想运行一个包含多个值的删除sql查询。但我不能这样做。所以我需要你的帮助

在controller.php页面中:

function deleteFiles()
{
$mainframe = &JFactory::getApplication();
if ($this->_model->deleteFiles()) {
$mainframe->enqueueMessage('Files deleted successfully');
} else {
$mainframe->enqueueMessage('Files not deleted');
}
    ARequest::redirectList($this->_controllerName);
}
function deleteFiles($field, $value)
{
$query = 'DELETE FROM ' . $this->rquote($this->_table->getTableName()) . ' WHERE ' . $this->rquote($field) . ' = ' . $this->_db->Quote($value);
$this->_db->setQuery($query);
return $this->_db->query();
}
在model.php页面中:

function deleteFiles()
{
$mainframe = &JFactory::getApplication();
if ($this->_model->deleteFiles()) {
$mainframe->enqueueMessage('Files deleted successfully');
} else {
$mainframe->enqueueMessage('Files not deleted');
}
    ARequest::redirectList($this->_controllerName);
}
function deleteFiles($field, $value)
{
$query = 'DELETE FROM ' . $this->rquote($this->_table->getTableName()) . ' WHERE ' . $this->rquote($field) . ' = ' . $this->_db->Quote($value);
$this->_db->setQuery($query);
return $this->_db->query();
}
在file.php页面中

function deleteFiles()
{
$this->_db->setQuery('DELETE r 
            FROM #__booking_reservation AS r 
            WHERE r.state = ' . FILES_ACCEPT);
$this->_db->query();
return true;
}
现在在file.php页面中,我想添加已预订的文件、取消的文件、删除的文件以及当前接受的文件。但我不知道怎么做


你能帮我一个忙吗。

你可以在
SQL
查询中的
WHERE
下定义它,用

DELETE r 
FROM #__booking_reservation AS r 
WHERE r.state = .. OR r.state = .. OR ...
更新

$this->_db->setQuery('DELETE r 
        FROM #__booking_reservation AS r 
        WHERE r.state=' .FILES_ACCEPT. ' OR r.state=' .FILES_BOOKED);
这是你想要的吗

. . . 
WHERE r.state IN (' . FILES_ACCEPT . ', ' . FILES_BOOKED . ', ' FILES_CANCEL . ', ' . FILES_DELETE . ')' );

这假设所有大写名称都包含
state

的有效值,我将把单引号和第一个括号放在哪里$此->\u db->setQuery('DELETE r FROM#\u预订\u reservation AS r,其中r.state='.FILES\u ACCEPT或r.state=FILES\u DELETE);