本文整理匯總了PHP中MySQLi::fetchOne方法的典型用法代碼示例。如果您正苦於以下問題:PHP MySQLi::fetchOne方法的具體用法?PHP MySQLi::fetchOne怎麽用?PHP MySQLi::fetchOne使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類MySQLi
的用法示例。
在下文中一共展示了MySQLi::fetchOne方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: getById
/**
* Retorna dados pela chave primária.
* Se a chave primária é composta, há duas opções:
* 1. Fornecer os valores correspondentes na ordem que os campos aparecem na tabela:
* $table->getById(array(1, 'foo'));
* 2. Fornecer um conjunto de chaves/valores com o nome dos campos>
* $table->getById(array(
* 'campo2' => 'foo',
* 'campo1' => 1
* ));
*
* @param mixed $id : o valor da chave primária do registro desejado
* @return Row|null
*/
public function getById($id)
{
$this->setupPrimaryKey();
$id = (array) $id;
if (($countId = count($id)) != ($countPk = count($this->primaryKey))) {
throw new Exception("A tabela {$this->name} possui {$countPk} campos em sua chave primária.\n O número de campos fornecidos para a busca foi {$countId}!");
}
$sql = 'SELECT * FROM ' . $this->getName() . ' WHERE ';
$fields = array();
// Caso 1
if (is_numeric(key($id))) {
// Precisamos disso porque $this->primaryKey é um array 1-based
foreach ($this->primaryKey as $col) {
$fields[] = $col . ' = ?';
}
} else {
$keys = array_keys($id);
$diff = array_diff($this->primaryKey, $keys);
if (!empty($diff)) {
$pkStr = join(', ', $this->primaryKey);
$keysStr = join(', ', $keys);
throw new Exception("A tabela {$this->name} tem chave primária composta pelos campos\n {$pkStr}. Os seguintes campos foram fornecidos: {$keysStr}");
}
foreach ($keys as $col) {
$fields[] = $col . ' = ?';
}
}
$sql .= join(' AND ', $fields);
$this->driver->query($sql, array_values($id));
$data = $this->driver->fetchOne();
if ($data !== null) {
return $this->doCreateRow($data, true);
} else {
return null;
}
}