Autor | Zpráva | ||
---|---|---|---|
milbr Profil * |
#1 · Zasláno: 22. 2. 2011, 21:47:18
Přeji pěkný večer, chtěl bych moc poprosit o radu, níže mám script, který mi vypíše názvy sloupečků v tabulce. Potřeboval bych pomocí těchto názvů sestavit příkaz INSERT INTO. Nějak mi to už nemyslí. Zkoušel jsem snad všechno.
Ještě jednou $fields = mysql_list_fields("databaze", "tabulka", $spojeni); $XPocetPoli = mysql_num_fields($fields); for ($i = 0; $i < $XPocetPoli; $i++) { $vyber = MySQL_Query("SELECT * FROM aktuality"); $sloupec = mysql_field_name($fields, $i); echo "$sloupec" ; } mysql_query("INSERT INTO `databaze`.`tabuklka` values ( ????????? )" ); |
||
milb Profil * |
#2 · Zasláno: 23. 2. 2011, 08:07:11
Přeji pěkný den, omlouvám se, ale asi jsem se vyjádřil špatně. Chtěl bych proto ještě jednou poprosit o radu.
Jde mi o vypsání proměnné $sloupec (názvy sloupečků) do values. Zkoušel jsem print_r($sloupec); Ještě jednou moc děkuji Milan |
||
Tori Profil |
#3 · Zasláno: 23. 2. 2011, 08:26:12
milb:
$sloupce = array(); for (..) { $sloupce[] = mysql_field_name($fields, $i); } echo implode(',', $sloupce); |
||
milbr Profil * |
#4 · Zasláno: 23. 2. 2011, 18:05:09
Tori:
Moc moc děkuju, posunul jsem se o kus dále, vše by fungovalo ale až na to že můžu vložit do db pouze čísla, pokud mám v textarea slovo tak se mi nezapíše do db, přitom když si vypíšu proměnnou sloupec tak je vše OK. Všem moc děkuju Milan $fields = mysql_list_fields("databaze", "tabulka", $spojeni); $XPocetPoli = mysql_num_fields($fields); for ($i = 0; $i < $XPocetPoli; $i++) { $vyber = MySQL_Query("SELECT * FROM tabulka"); $sloupec = mysql_field_name($fields, $i); $name_sloupec[] = mysql_real_escape_string($$sloupec); } mysql_query("INSERT INTO `sqsfiber`.`aktuality` values (".implode(', ', $name_sloupec).")"); |
||
Tori Profil |
#5 · Zasláno: 23. 2. 2011, 21:14:41
milbr:
Z [#1] nebylo zřejmé, že ukládáte do db formulářová pole, jejichž názvy jsou shodné s názvy sloupců db. V tom případě chybí escapování vkládaných řetězců - buď můžete dát uvozovky/apostrofy okolo hodnoty na ř. 7 (ve [#4]), anebo až při tom implodu. První varianta je asi přehlednější. Doufám správně, že register_globals máte vypnuté? |
||
milbr Profil * |
#6 · Zasláno: 24. 2. 2011, 17:59:58
Tori:
Děkuji za radu, bohužel když dám do uvozovek $$sloupec Moc děkuji všem za pomoc. Pěkný den Milan |
||
panther Profil |
#7 · Zasláno: 24. 2. 2011, 18:13:52
milbr:
vypiš si mysql_error() . Pokud chceš do DB zapisovat nečíselné hodnoty, musí být obaleny apostrofy. Bez apostrofů lze vkládat jen čísla.
|
||
milbr Profil * |
#8 · Zasláno: 24. 2. 2011, 18:33:42
panther:
Díky moc za vysvětlení, to že jdou vkládat pouze čísla jsem nevěděl. Mohl by jsi mi prosím poradit kam mám aplikovat apostrofy nebo přímo upravit script? Zkoušel jsem už snad všechno. Děkuji a pěkný den všem Milan |
||
Tori Profil |
#9 · Zasláno: 24. 2. 2011, 18:55:40
milbr:
> když dám do uvozovek $$sloupec tak se mi do DB nezapíše nic Uznávám, napsala jsem to nejasně. Ne $name_sloupec[] = "$$sloupec"; $name_sloupec[] = "'".mysql_real_escape_string($$sloupec)."'"; mysql_query("INSERT INTO `sqsfiber`.`aktuality` values ('".implode("', '", $name_sloupec)."')"); |
||
milbr Profil * |
#10 · Zasláno: 24. 2. 2011, 20:37:44
Tori:
Moooooc děkuji, vše je OK Vše vyřešeno, přeji pěkný večer a děkuji všem Milan |
||
Časová prodleva: 13 let
|
0