PHP SQL Server
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:
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
Curtidas 0
Melhor post
William
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
GOSTEI 1
Mais Respostas
Claudio Lopes
10/02/2016
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 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.
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)
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.
GOSTEI 0
Fernando Dolk
10/02/2016
É bom rever alguns pontos então, correto?
GOSTEI 0
Marcio Araujo
10/02/2016
Inclua o PDO.
GOSTEI 0
Marcio Araujo
10/02/2016
Inclua o PDO.
GOSTEI 0
Fernando Dolk
10/02/2016
Inclua o PDO.
Sim, incluir com certeza.
GOSTEI 0
Claudio Lopes
10/02/2016
obrigado por incluir o PDO Marcio havia esquecido.
Fernando, creio que sim, qualquer coisa posta ai no forum, que lhe ajudamos.
Fernando, creio que sim, qualquer coisa posta ai no forum, que lhe ajudamos.
GOSTEI 0
Marcio Araujo
10/02/2016
Disponha.
Me lembrei por conta das discussões recentes no forum.
Me lembrei por conta das discussões recentes no forum.
GOSTEI 0
Karine Sobral
10/02/2016
Como já foi dito, PDO facilita bastante na possivel mudança de base, correto?
GOSTEI 0
Tiago Melantonio
10/02/2016
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.
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.
GOSTEI 0
Fernando Dolk
10/02/2016
Opa, melhorou! Valeu.
GOSTEI 0
William
10/02/2016
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.
GOSTEI 0
Karine Sobral
10/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.
GOSTEI 0
Fernando Dolk
10/02/2016
Nesse caso William eu colocaria um atestado de 6 meses, kkkkkkkk
GOSTEI 0
Karine Sobral
10/02/2016
Nessas proporções William, me desculpe, mas não cogitei essa dor de cabeça. kkkkkkkk
GOSTEI 0
Fernando Dolk
10/02/2016
William, quantas tabelas?
GOSTEI 0
William
10/02/2016
Mais de 100 tabelas, aproximadamente 40 procedures, algumas Views!
Um detalhe isso é para um portal, mas são 14 iguais a esse ...rsrsrsrs
Um detalhe isso é para um portal, mas são 14 iguais a esse ...rsrsrsrs
GOSTEI 0
Karine Sobral
10/02/2016
Iguais?!? Mesmo?!? a estrutura do banco?
GOSTEI 0
William
10/02/2016
Uma coisa ou outra é diferente, mas 90% é igual!
GOSTEI 0
Fernando Dolk
10/02/2016
Mais de 100 tabelas, aproximadamente 40 procedures, algumas Views!
Um detalhe isso é para um portal, mas são 14 iguais a esse ...rsrsrsrs
Um detalhe isso é para um portal, mas são 14 iguais a esse ...rsrsrsrs
Putz William.
GOSTEI 0
Karine Sobral
10/02/2016
Mesmo assim, complicadissimo.
GOSTEI 0