本文整理汇总了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;
}
}