Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PDO] Prosty Interpreter PDO
Posio
post
Post #1





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

Ostrzeżenie: (0%)
-----


Mam problem z PDO, otóż chcę stworzyć prosty interpreter który przyspieszy mi uzywanie PDO.
kod:

  1. public function prepareInsert($table, $fields, $values, $params){
  2.  
  3. $params = explode(',', $params);
  4. $params = preg_replace('/\s+/', '', $params);
  5. for($i=0;$i<$cv;$i++){$par .= 'PDO::PARAM_'.$params[$i].', ';}
  6. $par = substr($par,0,-2);
  7. $par = explode(',', $par);
  8. echo $par['0'];
  9.  
  10.  
  11.  
  12.  
  13. try{
  14. $pdo = new PDO('mysql:host='.$this->_host.';dbname='.$this->_database.'', ''.$this->_username.'', ''.$this->_password.'');
  15. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  16. $stmt = $pdo->prepare('INSERT INTO '.$table.' ('.$qf.') VALUES ('.$vf.')');
  17. for($i=0;$i<$cf;$i++) {
  18. $stmt->bindValue($vfe[$i], $values[$i], $par[$i]);
  19. }
  20. $status = $stmt->execute();
  21. return $status;
  22. $stmt -> closeCursor();
  23. unset($stmt);
  24. }
  25. catch(PDOException $e){
  26. echo $e->getMessage();
  27. }
  28.  
  29.  
  30. }



Problem mam na poziomie wstawiania PDO::PARAM_ $param[$i]; wygląda na przykład : PDO::PARAM_STR, gdzy wstawiam tę zmienną w miejsce funkcji $stmt dostaje:

  1. Warning: PDOStatement::bindParam() expects parameter 3 to be long, string given in


Wiem w czym tkwi problem ale nie potrafie go rozwiązać...

Ten post edytował Posio 16.06.2012, 11:37:32
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Bo musisz przekazać liczbę (pod tymi constami są liczby) a nie string, jak teraz to robisz.


Rozwiązanie jak zawsze jest w manualu.


--------------------
Go to the top of the page
+Quote Post
Posio
post
Post #3





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

Ostrzeżenie: (0%)
-----


a można bardziej łopatologicznie ?
Go to the top of the page
+Quote Post
melkorm
post
Post #4





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


  1. var_dump('PDO::PARAM_STR');
  2.  
  3. var_dump(PDO::PARAM_STR);
  4.  
  5. $pdoReflection = new ReflectionClass('PDO');
  6. var_dump($pdoReflection->getConstant('PARAM_STR'));


--------------------
Go to the top of the page
+Quote Post
Posio
post
Post #5





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

Ostrzeżenie: (0%)
-----


Dzięki za dobre naprowadzenie smile.gif - Wszystko ogarnięte
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 19:44