本文整理汇总了PHP中DatabaseBase::affectedRows方法的典型用法代码示例。如果您正苦于以下问题:PHP DatabaseBase::affectedRows方法的具体用法?PHP DatabaseBase::affectedRows怎么用?PHP DatabaseBase::affectedRows使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DatabaseBase
的用法示例。
在下文中一共展示了DatabaseBase::affectedRows方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: removeBatch
/**
* Remove a batch of users
*
* @param DatabaseBase $dbw
* @param int[] $batch list of user IDs to remove
*/
private function removeBatch(DatabaseBase $dbw, array $batch)
{
$rows = 0;
$dbw->begin(__METHOD__);
// remove entries from user table
$dbw->delete(self::USER_TABLE, ['user_id' => $batch], __METHOD__);
$rows += $dbw->affectedRows();
// remove entries from user_properties table
$dbw->delete('user_properties', ['up_user' => $batch], __METHOD__);
$rows += $dbw->affectedRows();
$dbw->commit(__METHOD__);
$this->info('Batch removed', ['batch' => count($batch), 'rows' => $rows]);
}
示例2: doTableCleanup
/**
* Perform a cleanup for a set of wikis
*
* @param DatabaseBase $db database handler
* @param string $table name of table to clean up
* @param string $wiki_id_column table column name to use when querying for wiki ID
* @param Array $city_ids IDs of wikis to remove from the table
*/
private function doTableCleanup(DatabaseBase $db, $table, array $city_ids, $wiki_id_column = 'wiki_id')
{
$start = microtime(true);
$db->delete($table, [$wiki_id_column => $city_ids], __METHOD__);
$rows = $db->affectedRows();
// just in case MW decides to start a transaction automagically
$db->commit(__METHOD__);
Wikia\Logger\WikiaLogger::instance()->info(__METHOD__, ['table' => $table, 'cities' => join(', ', $city_ids), 'count' => count($city_ids), 'took' => round(microtime(true) - $start, 4), 'rows' => $rows]);
$this->output(sprintf("%s: %s - removed %d rows\n", date('Y-m-d H:i:s'), $table, $rows));
// throttle delete queries
if ($rows > 0) {
sleep(5);
}
}
示例3: doDeletes
/**
* @param DatabaseBase $dbw
* @param string $table
* @param string $column
* @param string $wiki
*/
function doDeletes($dbw, $table, $column, $wiki)
{
if (!$dbw->tableExists($table)) {
$this->error("Maintenance script cannot be run on this wiki as there is no {$table} table", 1);
}
$this->output("{$table}:\n");
$count = 0;
do {
$wikiQuoted = $dbw->addQuotes($wiki);
$dbw->query("DELETE FROM {$table} WHERE {$column}={$wikiQuoted} LIMIT 500", __METHOD__);
$affected = $dbw->affectedRows();
$count += $affected;
$this->output("{$count}\n");
wfWaitForSlaves();
} while ($affected === 500);
$this->output("{$count} {$table} rows deleted\n");
}
示例4: sqlPrintResult
/**
* Print the results, callback for $db->sourceStream()
* @param ResultWrapper $res The results object
* @param DatabaseBase $db
*/
public function sqlPrintResult($res, $db)
{
if (!$res) {
// Do nothing
return;
} elseif (is_object($res) && $res->numRows()) {
foreach ($res as $row) {
$this->output(print_r($row, true));
}
} else {
$affected = $db->affectedRows();
$this->output("Query OK, {$affected} row(s) affected\n");
}
}
示例5: updateRedirectOn
/**
* Add row to the redirect table if this is a redirect, remove otherwise.
*
* @param DatabaseBase $dbw
* @param Title $redirectTitle Title object pointing to the redirect target,
* or NULL if this is not a redirect
* @param null|bool $lastRevIsRedirect If given, will optimize adding and
* removing rows in redirect table.
* @return bool True on success, false on failure
* @private
*/
public function updateRedirectOn($dbw, $redirectTitle, $lastRevIsRedirect = null)
{
// Always update redirects (target link might have changed)
// Update/Insert if we don't know if the last revision was a redirect or not
// Delete if changing from redirect to non-redirect
$isRedirect = !is_null($redirectTitle);
if (!$isRedirect && $lastRevIsRedirect === false) {
return true;
}
if ($isRedirect) {
$this->insertRedirectEntry($redirectTitle);
} else {
// This is not a redirect, remove row from redirect table
$where = array('rd_from' => $this->getId());
$dbw->delete('redirect', $where, __METHOD__);
}
if ($this->getTitle()->getNamespace() == NS_FILE) {
RepoGroup::singleton()->getLocalRepo()->invalidateImageRedirect($this->getTitle());
}
return $dbw->affectedRows() != 0;
}