PHP SQL Server

10/02/2016

0

Olá amigos do forum, precisando fazer um insert, mas antes o sistema deve verificar se a informação já existe no banco. Esse código está correto ou no caminho?
Estou utilizando o seguinte código para isso:


  $query1 = sqlsrv_num_rows(sqlsrv_query($conn,"select * from carros where placa = '$placa'"));
                if ($query1 == 1) {
                        echo "<script>alert('placa ja existe.');history.back();</script>";

Fernando Dolk

Fernando Dolk

Responder

Post mais votado

13/02/2016

Se for somente isso não seria tão critico a não ser que um select fosse daqueles bem elaborados, aí complicaria um pouco.



kkkk.. gostei do seu senso de humor .. administro um portal com pelo menos 1000 scripts entre site e administrativos, eu iria pedir a conta se tivesse que revisar todas as instruções srsr

William

William
Responder

Mais Posts

10/02/2016

Claudio Lopes

Fernando

Para o seu contesto (lendo o que está escrito) está sim, pois não sei da regra de negocio.

Contudo vai alguns pontos:

1 - Sempre após o nome da tabela utilize
with(nolock)
Pois assim, vc garante ao sqlserver que não vai alocar (travar) a tabela, sempre utilize isso principalmente nos relacionamentos.
2 - Caso seja você que esteja modelando ou modelou o banco, é bom verificar o desempenho das consultas procure por "create index sqlserver" para entender melhor
3 - Você está jogando sua query pura dentro de uma string, isso é perigoso procure por evitar sql injection
3 - Vc utiliza o PHP de forma procedural, sugiro que você procure por CRUD que ajuda e muito nas tarefas de banco, mas também procure por Orientação a Objeto e após isso um framework.
Responder

10/02/2016

Fernando Dolk

É bom rever alguns pontos então, correto?
Responder

10/02/2016

Marcio Araujo

Inclua o PDO.
Responder

10/02/2016

Marcio Araujo

Inclua o PDO.
Responder

10/02/2016

Fernando Dolk

Inclua o PDO.


Sim, incluir com certeza.
Responder

11/02/2016

Claudio Lopes

obrigado por incluir o PDO Marcio havia esquecido.

Fernando, creio que sim, qualquer coisa posta ai no forum, que lhe ajudamos.
Responder

11/02/2016

Marcio Araujo

Disponha.
Me lembrei por conta das discussões recentes no forum.
Responder

11/02/2016

Karine Sobral

Como já foi dito, PDO facilita bastante na possivel mudança de base, correto?
Responder

11/02/2016

Tiago Melantonio

Boa noite,

Altere o select * from carros where placa = '$placa' para:

select 1 from carros where placa = '$placa'

Assim não precisa pegar todos os registros ou todos os campos da tabela.

Abs.
Responder

12/02/2016

Fernando Dolk

Opa, melhorou! Valeu.
Responder

13/02/2016

William

Como já foi dito, PDO facilita bastante na possivel mudança de base, correto?


karine isso depende muito de como foram escritas suas instruções SQL, principalmente SELECTs, pois existem instruções proprietárias de cada SGBD, veja os exemplos abaixo:

Firebird:
SELECT FIRST 1 * FROM TABELA


MySQL:
SELECT * FROM TABELA LIMIT 1


SQL SERVER:
SELECT TOP 1 * FROM TABELA


Nesse caso mesmo usando PDO vc teria que percorrer todas as instruções e acertar a instrução conforme o banco de dados que está sendo utilizado.
Responder

13/02/2016

Karine Sobral

Se for somente isso não seria tão critico a não ser que um select fosse daqueles bem elaborados, aí complicaria um pouco.
Responder

13/02/2016

Fernando Dolk

Nesse caso William eu colocaria um atestado de 6 meses, kkkkkkkk
Responder

13/02/2016

Karine Sobral

Nessas proporções William, me desculpe, mas não cogitei essa dor de cabeça. kkkkkkkk
Responder

13/02/2016

Fernando Dolk

William, quantas tabelas?
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar