PHP - как удалить строки из нескольких таблиц одним звонком? [dубликат]

Благодаря Vivek & amp; Элия ​​за ответы. У меня нет CD-диска Ubuntu. Но я следил за процедурой, упомянутой в этой ссылке, и она работала, восстановила мою привилегию администратора.

http://www.debuntu.org/recover-root-password -Один-пользовательский режим, и-личинка

24
задан 4 December 2009 в 10:05

2 ответа

Из руководства zend по delete ():

Если вы опустите второй аргумент, результатом будет то, что все строки в таблице базы данных будут удалены. Если вы предоставите массив строк в качестве второго аргумента, эти строки объединяются вместе как члены в выражении, разделенном операторами И. Если вы предоставите массив массивов в качестве второго аргумента, значения будут автоматически указаны в ключах. Затем они объединяются вместе как термины, разделенные операторами И.

Не совсем уверен, что говорит третий раздел, но второй означает, что вы можете сделать:

$where = array();
$where[] = $db->quoteInto('first_id = ?', $first_id);
$where[] = $db->quoteInto('second_id = ?', $second_id);
$db->delete('tablename', $where);
20
ответ дан 15 August 2018 в 16:50

Если вы находитесь в модели, расширяющей класс Zend_Db_Table_Abstract, вам нужно использовать другую структуру:

class Yourmodel extends Zend_Db_Table_Abstract {
    protected $_name = 'tablename';
    protected $_primary = 'primarykey';
    public function remove($first_id, $second_id) {
        $where = array();
        $where[] = $this->getAdapter()->quoteInto('first_id = ?', $first_id);
        $where[] = $this->getAdapter()->quoteInto('second_id = ?', $second_id);
        $this->delete($where);
    }
}
1
ответ дан 15 August 2018 в 16:50

Другие вопросы по тегам:

Похожие вопросы: