Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: mysql INSERT INTO databáze

Aktivity
Avatar
Michal Žůrek - misaz:26.6.2013 13:01

Ahoj,
dnes zjišťuji, že na webzdarma není PDO, což mě trochu štve protože musím upravit svůj kód a navíc je to jediné co z php databázi umím :D .

No můj problém je to, že jsem vygooglil třeba: http://php.vrana.cz/…ert-into.php , ale nechápu jak to pozná do jaké databáze to má zapsat. Naíc na mém webu mám takový kód (taky víceméně vygooglen):

$dotaz = "INSERT INTO `navstevnici` (`ip`, `page`) VALUES('" . $yourIP ."', '". $loadPage . "');";
echo($dotaz);

$link = mysql_connect("mysql.webzdarma.cz", "misaz", "##########");
$db = mysql_select_db("navstevnici", $link);
mysql_query($dotaz, $db);
mysql_close($link);

vygenerovaný dotaz je např:

INSERT INTO `navstevnici` (`ip`, `page`) VALUES('178.77.227.3', 'Hello world');

no problém je v tom, že když tento dotaz spustím v phpMyAdmin tak se provede OK, ale v v php kódu nefunguje.

Proč?

Editováno 26.6.2013 13:04
 
Odpovědět
26.6.2013 13:01
Avatar
Juraj Mlich
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Juraj Mlich:26.6.2013 13:05

sorry, pomýlil som sa

Editováno 26.6.2013 13:05
 
Nahoru Odpovědět
26.6.2013 13:05
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Kit:26.6.2013 13:08

Také jsem si všiml. PDO tam je, ale funguje jen s SQLite. Na WZ stejně MySQL moc nefunguje a když jede, tak strašně pomalu.

Ta tvoje databáze se jmenuje "misaz".

Nahoru Odpovědět
26.6.2013 13:08
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Juraj Mlich
Tvůrce
Avatar
Juraj Mlich:26.6.2013 13:09

Už pomerne dlho som v PHP nerobil ale pozrel som sa do mojích stránok ako to tam mám a našiel som tento príklad:

$dbc = mysql_connect("...","...","...") or die('Pripojenie k serveru zlyhalo!');
         mysql_select_db("...", $dbc) or die('Nepodarilo sa označiť databázovú tabuľku!');

mysql_query("INSERT INTO prispevky (ID, Prispevok, DatumCas, Nadpis, Script) VALUES ('','$Text4','$DatumCas', '$Nazov', '$NONE')");
 
Nahoru Odpovědět
26.6.2013 13:09
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Juraj Mlich
Kit:26.6.2013 13:12

Konkrétně na WZ se mi osvědčilo po neúspěšném připojení k MySQL nechcípnout, ale počkat 1 sekundu a zkusit znovu. Na druhý pokus se většinou chytí.

Nahoru Odpovědět
26.6.2013 13:12
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michal Žůrek - misaz:26.6.2013 13:16

Juraj Mlich a Kit děkuji moc, funguje :)

 
Nahoru Odpovědět
26.6.2013 13:16
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Juraj Mlich
David Hartinger:26.6.2013 13:30

Zas příklad s injekcí...

Nahoru Odpovědět
26.6.2013 13:30
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:26.6.2013 13:41

Dokud tady budou zastaralé učebnice a tutoriály, budou tady i injekce.

Nahoru Odpovědět
26.6.2013 13:41
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Kit
David Hartinger:26.6.2013 13:43

Injekce se dá udělat bohužel i v PDO.

Nahoru Odpovědět
26.6.2013 13:43
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:26.6.2013 13:53

Injekce se dá udělat i v PDO, pokud SQL dotazy mícháš s daty. U starého ovladače je to naprosto běžné.

Podobně je běžné i to, že se SQL dotaz slepuje jako řetězec.

Editováno 26.6.2013 13:54
Nahoru Odpovědět
26.6.2013 13:53
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.