Php 如何使用多个值运行删除sql查询
我想运行一个包含多个值的删除sql查询。但我不能这样做。所以我需要你的帮助 在controller.php页面中: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
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);