| 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 23Dě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: 15 let
|
|||
0