本文整理匯總了PHP中PDO::delete方法的典型用法代碼示例。如果您正苦於以下問題:PHP PDO::delete方法的具體用法?PHP PDO::delete怎麽用?PHP PDO::delete使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類PDO
的用法示例。
在下文中一共展示了PDO::delete方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: destroy
/**
* @param int|string $sessionId
*
* @return bool
*/
public function destroy($sessionId)
{
$key = $this->keyPrefix . $sessionId;
$startTime = microtime(true);
$result = $this->connection->delete($key);
$this->newRelicApi->addCustomMetric(self::METRIC_SESSION_DELETE_TIME, microtime(true) - $startTime);
return true;
}
示例2: delete
/**
* 刪除數據
* @access public
* @param mixed $options 表達式
* @return mixed
*/
public function delete($options = array())
{
$pk = $this->getPk();
if (empty($options) && empty($this->options['where'])) {
// 如果刪除條件為空 則刪除當前數據對象所對應的記錄
if (!empty($this->data) && isset($this->data[$pk])) {
return $this->delete($this->data[$pk]);
} else {
return false;
}
}
if (is_numeric($options) || is_string($options)) {
// 根據主鍵刪除記錄
if (strpos($options, ',')) {
$where[$pk] = array('IN', $options);
} else {
$where[$pk] = $options;
}
$options = array();
$options['where'] = $where;
}
// 根據複合主鍵刪除記錄
if (is_array($options) && count($options) > 0 && is_array($pk)) {
$count = 0;
foreach (array_keys($options) as $key) {
if (is_int($key)) {
$count++;
}
}
if ($count == count($pk)) {
$i = 0;
foreach ($pk as $field) {
$where[$field] = $options[$i];
unset($options[$i++]);
}
$options['where'] = $where;
} else {
return false;
}
}
// 分析表達式
$options = $this->_parseOptions($options);
if (empty($options['where'])) {
// 如果條件為空 不進行刪除操作 除非設置 1=1
return false;
}
if (is_array($options['where']) && isset($options['where'][$pk])) {
$pkValue = $options['where'][$pk];
}
if (false === $this->_before_delete($options)) {
return false;
}
$result = $this->db->delete($options);
if (false !== $result && is_numeric($result)) {
$data = array();
if (isset($pkValue)) {
$data[$pk] = $pkValue;
}
$this->_after_delete($data, $options);
}
// 返回刪除記錄個數
return $result;
}