Diskuze: mysql INSERT INTO databáze

PHP PHP mysql INSERT INTO databáze American English version English version

Avatar
Michal Žůrek (misaz):

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
Nesnáším {}, proto se jim vyhýbám.
Avatar
Juraj Mlich
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Juraj Mlich:

sorry, pomýlil som sa

Editováno 26.6.2013 13:05
Nahoru Odpovědět 26.6.2013 13:05
Vždy je lepšie učiť sa z cudzích chýb, než z vlastných chýb.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Kit:

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
Redaktor
Avatar
Juraj Mlich:

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
Vždy je lepšie učiť sa z cudzích chýb, než z vlastných chýb.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Juraj Mlich
Kit:

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):

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

Nahoru Odpovědět 26.6.2013 13:16
Nesnáším {}, proto se jim vyhýbám.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Juraj Mlich
David Čápka:

Zas příklad s injekcí...

Nahoru Odpovědět 26.6.2013 13:30
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

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 Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:

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

Nahoru Odpovědět  +1 26.6.2013 13:43
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

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.