anneviana 0 Denunciar post Postado Junho 15, 2011 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
Andrey Knupp Vital 136 Denunciar post Postado Junho 15, 2011 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
anneviana 0 Denunciar post Postado Junho 15, 2011 deu certo assim! eu estava colocando o strtolower no lugar errado do codigo! valeu mesmo!! Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Junho 15, 2011 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
anneviana 0 Denunciar post Postado Junho 15, 2011 obrigada pela dica! com certeza vou seguir, :) Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Junho 15, 2011 Dei uma atualizada na função, não é necessário o foreach como antes, então mudei para o array_walk então, resolvido, bons estudos Compartilhar este post Link para o post Compartilhar em outros sites