20.11.2014 Views

O Guia Definitivo do Yii 1.1

O Guia Definitivo do Yii 1.1

O Guia Definitivo do Yii 1.1

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Executan<strong>do</strong> Instruções SQL<br />

Uma vez que a conexão com o banco de da<strong>do</strong>s tenha si<strong>do</strong> estabelecida, coman<strong>do</strong>s SQL<br />

podem ser executa<strong>do</strong>s utilizan<strong>do</strong>-se a classe CDbCommand. Você pode criar uma<br />

instância de CDbCommand utilizan<strong>do</strong> o méto<strong>do</strong> CDbConnection::createCommand(), com<br />

a instrução SQL desejada:<br />

$connection=<strong>Yii</strong>::app()->db;<br />

// Aqui, estamos assumind que você configurou<br />

// um conexão com o banco de da<strong>do</strong>s<br />

// Caso contrario, você deverá cria-la explicitamente:<br />

// $connection=new CDbConnection($dsn,$username,$password);<br />

$command=$connection->createCommand($sql);<br />

// se necessário, a instrução SQL pode ser alterada da seguinte maneira:<br />

// $command->text=$newSQL;<br />

Uma instrução SQL pode ser executada via CDbCommand de duas maneiras:<br />

• execute(): executa uma instrução SQL que não retorna resulta<strong>do</strong>s, tal como INSERT,<br />

UPDATE e DELETE. Em caso de sucesso, retorna a quantidade de registros<br />

afeta<strong>do</strong>s pela consulta.<br />

• query(): executa uma instrução que retorna registros, tal como SELECT. Em caso de<br />

sucesso, retorna uma instância de CDbDataReader, que pode ser utilizada para<br />

acessar os registros encontra<strong>do</strong>s. Por conveniência, um conjunto de méto<strong>do</strong>s<br />

queryXXX() também está implementa<strong>do</strong>, e retornam diretamente o resulta<strong>do</strong> da<br />

consulta.<br />

Uma exceção será disparada caso ocorram erros durante a execução de instruções SQL.<br />

$rowCount=$command->execute();<br />

// executa uma consulta que não retorna resulta<strong>do</strong>s<br />

$dataReader=$command->query();<br />

// executa uma consulta SQL<br />

$rows=$command->queryAll();<br />

// consulta e retorna to<strong>do</strong>s os resulta<strong>do</strong>s encontra<strong>do</strong>s<br />

$row=$command->queryRow();<br />

// consulta e retorna apenas o primeiro registro <strong>do</strong> resulta<strong>do</strong><br />

$column=$command->queryColumn();<br />

// consulta e retorna a primeira coluna <strong>do</strong> resulta<strong>do</strong><br />

$value=$command->queryScalar();<br />

// consulta e retorna o primeiro campo <strong>do</strong> primeiro registro<br />

Obten<strong>do</strong> Resulta<strong>do</strong>s de Consultas

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!