Autor | Zpráva | ||
---|---|---|---|
theNookyn Profil |
#1 · Zasláno: 17. 5. 2011, 21:15:43 · Upravil/a: theNookyn
Omlouvám se za špatný název vlákna, ale nevím jak nazvat.
Dělám si třídu pro jednodušší práci s databází (MySQL), ale došel jsem k problému, kde je příčinou funkce implode(). Používám WampServer, a vypisuje to 2 warningy s obsahem: Warning: implode() [function.implode]: Invalid arguments passed in C:\wamp\www\ncore\classes\MySQL\MySQL.php on line 23. Potřebný kód: foreach($vars as $key => $value){ $cols = "'".$key."'"; $vals = "'".mysql_real_escape_string($value)."'"; } $query = "INSERT INTO ".$table." (".implode(", ", $cols).") VALUES ('".implode(", ", $vals)."')"; //řádek 23 Děkuji za všechny rady. |
||
Alphard Profil |
#2 · Zasláno: 17. 5. 2011, 21:31:53
Proměnné $cols a $vals nejsou pole, ve foreach jen neustále přepisujete stringy.
array_keys(), array_values() |
||
theNookyn Profil |
#3 · Zasláno: 17. 5. 2011, 21:38:36 · Upravil/a: theNookyn
Děkuji.
|
||
Alphard Profil |
#4 · Zasláno: 17. 5. 2011, 21:53:06
Kde berete klíče, nemají být ošetřené taky?
Snažte se trochu, máte dost nápověd :-) Buď můžete použít array_keys() pro získání pole klíčů a pro ošetření třeba array_map(), nebo opravit váš kód tak, aby implode() dostalo pole. Ještě jedna nápověda $a = array(); $a[] = 'prvni hodnota'; $a[] = 'druha hodnota'; |
||
theNookyn Profil |
#5 · Zasláno: 17. 5. 2011, 22:13:55
Už mám opraveno, děkuji za nápovědy.
|
||
Časová prodleva: 13 let
|
0