Welcome Guest, Not a member yet? Register   Sign In
CURDATE() and INTERVAL in codeigniter
#31

[eluser]Mauricio de Abreu Antunes[/eluser]
I think you're kidding me! Big Grin

Dude, you can not run this query without ''.
CURDATE() + INTERVAL is not a string. In your code, it will give you syntax errors.
#32

[eluser]Mauricio de Abreu Antunes[/eluser]
Code:
INSERT INTO buy (id_products, date_start, date_finish) VALUES (341, CURDATE(), CURDATE() + INTERVAL 30 DAYS)

RUN THIS QUERY!

Your php file needs '', because you must to pass string data for MySQL Driver.
#33

[eluser]Thiago Leao[/eluser]
Cara como vc flw "ta de brincadeira cmg"...
Eu não estou de brincadeira, eu nao sou tapado e nem noob.

Eu perguntei se tem alguma forma de passar direto que eu digo usando db->query e etc...
Bom até agora nada do que você falou ae me ajudou.

Então fique a vontade de parar de responder o tópico, que eu vou tentando resolver aqui ou vir alguém com mais experiência para responder!
você está enchendo o tópico de coisa "lógica" que até agora não me ajudou, inclusive ja tentei tudo isso mesmo sem vc precisar ter postado nada!
#34

[eluser]Mauricio de Abreu Antunes[/eluser]
Se você não é tapado e carrega no seu logo "developer", você saberia que o CI (vide manual) pode passar para o Active Record strings SQL.
Code:
$sql = 'insert into user...';
$query = $this->db->query($sql); //Executa tua query. No segundo parâmetro tu pode passar um array de bind variables (famosos "?").
Eu digo que tu tá de brincandeira pois tu NÃO segue as normas do fórum, não dando resposta às solicitações que o pessoal faz, tentando ajudar, assim como tu só responder "did not work", como se eu tivesse aí do teu lado sabendo o que tá acontecendo.
Btw, tu não precisa de alguém com mais experiência pra te ajudar numa questão tão simples.
Tu precisa é evoluir para poder fazer o que quer, mesmo não conseguindo. Smile
Just saying dude, just saying...
#35

[eluser]Mauricio de Abreu Antunes[/eluser]
E se eu postei coisas lógicas foi querendo ajudar.
Neste exato momento, estou no trabalho. Smile
Diga-se de passagem, seu problema é fácil de ser resolvido. Você que não se fez entender, nem se ajudou.
#36

[eluser]Mauricio de Abreu Antunes[/eluser]
Sua solução, usando uma string.
Code:
//Depois de validar os dados usando o form validation, fazer algo assim.
public function insertBuy($id_products, $id_user) {
  $sql = 'insert into buy (id_products, id_user, date_start, date_finish, valor_venda)
values (?, ?, CURDATE(), CURDATE() + INTERVAL 30 DAY, ?)';

$query = $this->db->query($sql, array($id_products, $id_user));
if ($query->affected_rows() == 1) {
  echo 'Compra para o produto ' . $id_products . ' foi inserida com sucesso';
  return true;
} else {
  return false;
}
}
#37

[eluser]Thiago Leao[/eluser]
Tudo o que você falou para fazer, eu falei que ja tinha feito e fui postando no tópico.
Eu perguntei sobre como inserir de forma "direta" porque eu havia esquecido, pois não mexo no codeigniter deve ter 1 ano ou mais, e agora estou realizando manutenção em um sistema...

Eu queria fazer de uma forma mais simplificada, pois outras soluções eu tinha, como usar mktime e etc...
Quando eu perguntei da forma simples, era só responder essa forma da sua ultima resposta:

$this->db->query($sql, array($id_products, $id_user));

Que eu ia lembrar que dava...
Era simples como vc flw!

De qualquer forma, obrigado!
#38

[eluser]Mauricio de Abreu Antunes[/eluser]
Tu pode fazer desse jeito.
Mas, do outro jeito que tu tava fazendo, também é possível.
Só ter calma e ir dando echo na query e executando na sua ferramenta que executa SQL no seu servidor.
Claro, tu pode retirar CURDATE() e usar funções do PHP, passando os resultados para os métodos do Active Record.




Theme © iAndrew 2016 - Forum software by © MyBB