Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

anneviana

[Resolvido] colocar lowercase no insert

Recommended Posts

Oi gente, estou com um probleminha q esta me enchendo a paciencia pois estou aprendendo ainda PHP.

 

tenho um insert pronto no sistema e não estou sabendo como colocar um lowercase nele, estou tentando assim:

 

$query = "INSERT INTO `".TBL_PROFILE."` (`".implode('`, `',$fields)."`) VALUES LOWER(".implode (',',$values).")" ;

 

ja tentei fazer o mesmo com strtolower,preciso disso pra evitar que usuários se cadastrem no site com caracteres maiusculos...

 

se alguém puder me ajudar...

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim não funcionou ?

$query = "INSERT INTO `".TBL_PROFILE."` (`".implode('`, `',$fields)."`) VALUES (".strtolower( implode (',',$values) ).")";

 

Testei aqui, com o código assim:

<?php
  !defined( 'TBL_PROFILE' ) ? define( 'TBL_PROFILE', 'teste' ) : '';
  $fields = Array( 'campo1', 'campo2', 'campo3' );
  $values = Array( 'VALOR1', 'VALOR2', 'VALOR3' );
  $query = "INSERT INTO `".TBL_PROFILE."` (`".implode('`, `',$fields)."`) VALUES (".strtolower( implode (',',$values) ).")";
  echo $query;

 

Saída:

INSERT INTO `teste` (`campo1`, `campo2`, `campo3`) VALUES (valor1,valor2,valor3)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal, uma dica então maninho, você pode fazer o seguinte para melhorar seu insert

envitando algum erro, se o usuário digitar apenas número em um campo, você vai colocar aspas para inserir no mysql

não é necessário, apenas faça um cast desse valor, e retire as aspas, no caso eu faço assim:

<?php
     !defined( 'TBL_PROFILE' ) ? define( 'TBL_PROFILE', 'teste' ) : '';
     $fields = Array( 'campo1', 'campo2', 'campo3' );
     $values = Array( 'VALOR1', 'VALOR2', '3' );
     array_walk( $values, function( &$data ){
         $data = is_numeric( $data ) ? intval( $data ) : sprintf("'%s'", $data );
     });
     print_r( $val );
     $query = "INSERT INTO `".TBL_PROFILE."` (`".implode('`, `',$fields)."`) VALUES (".strtolower( implode (', ',$values) ).")";
     echo $query;

 

Saída:

INSERT INTO `teste` (`campo1`, `campo2`, `campo3`) VALUES ('valor1', 'valor2', 3)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.