Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 545549
            [titulo] => PHP SQL Server
            [dataCadastro] => DateTime Object
                (
                    [date] => 2016-02-13 12:36:35
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 269142
            [status] => A
            [isExample] => 
            [NomeUsuario] => William 
            [Apelido] => William (Devwilliam)
            [Foto] => 269142_20150809195205.jpg
            [Conteudo] => [quote]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.[/quote]


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 ) )

PHP SQL Server

Fernando Dolk
   - 10 fev 2016

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:
#Código


  $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>";

Post mais votado

William (devwilliam)
   - 13 fev 2016


Citação:
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

Din
|
MVP
Pontos: 45
    10 fev 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 #Código

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.

Fernando Dolk
   - 10 fev 2016

É bom rever alguns pontos então, correto?

Marcio Araujo
   - 10 fev 2016

Inclua o PDO.

Marcio Araujo
   - 10 fev 2016

Inclua o PDO.

Fernando Dolk
   - 10 fev 2016


Citação:
Inclua o PDO.


Sim, incluir com certeza.

Din
|
MVP
Pontos: 45
    11 fev 2016

obrigado por incluir o PDO Marcio havia esquecido.

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

Marcio Araujo
   - 11 fev 2016

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

Karine Sobral
   - 11 fev 2016

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

Melantonio
|
MVP
Pontos: 300
    11 fev 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.

Fernando Dolk
   - 12 fev 2016

Opa, melhorou! Valeu.

William (devwilliam)
   - 13 fev 2016


Citação:
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:
#Código

SELECT FIRST 1 * FROM TABELA


MySQL:
#Código
SELECT * FROM TABELA LIMIT 1


SQL SERVER:
#Código
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.

Karine Sobral
   - 13 fev 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.

Fernando Dolk
   - 13 fev 2016

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

Karine Sobral
   - 13 fev 2016

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

Fernando Dolk
   - 13 fev 2016

William, quantas tabelas?

William (devwilliam)
   - 13 fev 2016

Mais de 100 tabelas, aproximadamente 40 procedures, algumas Views!

Um detalhe isso é para um portal, mas são 14 iguais a esse ...rsrsrsrs

Karine Sobral
   - 13 fev 2016

Iguais?!? Mesmo?!? a estrutura do banco?

William (devwilliam)
   - 13 fev 2016

Uma coisa ou outra é diferente, mas 90% é igual!

Fernando Dolk
   - 13 fev 2016


Citação:
Mais de 100 tabelas, aproximadamente 40 procedures, algumas Views!

Um detalhe isso é para um portal, mas são 14 iguais a esse ...rsrsrsrs


Putz William.

Karine Sobral
   - 13 fev 2016

Mesmo assim, complicadissimo.