Diskuze: nefunguije vkldávání do databáze
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 14 zpráv z 14.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Používáš zastaralý ovladač k DB. Mrkni se na PDO, pracuje se s ním mnohem líp. Na SQL a PHP nejsem opravdu guru, ale mám takový dojem že ti tady může vzniknout nádherná SQL injekce.
K samotnému problému ti asi moc neporadím. Ale myslím, že limit na sloupce neexistuje
ale tak jaktože mi to v jiných tabulkách jde? mají teda míň těch sloupců, ale jde to. Každopádně díky. Na ten ovladač se kouknu.
Kdyžtak, kdyby tgo nešlo, tak to rozdělim holt do dvou tabulek
Počet sloupců v tabulce je omezen na 4096, ale běžný limit pro vývojáře je 30. Větší počet obvykle svědčí o chybě v návrhu, je zcela běžné mít v tabulce 2-10 sloupců.
O injekci už byla zmínka, místo
$title_articles = $_POST['title_articles'];
dej alespoň
$title_articles = mysql_real_escape_string($_POST['title_articles']);
apod.
Tipl bych si, že jsi při CREATE DATABASE zapomněl na auto_increment u primárního klíče. Chybu to nevyhodí zřejmě proto, že se ji ani nepokoušíš zachytit a vypsat.
A ještě něco: Čísla se do apostrofů nedávají. Je to zlozvyk z MySQL, které to toleruje.
díky, qsl injekci opravim....ale A_I jsem zaskrtnout nezapomnel.
4096b sloupců v tabulce opravdiu nemám . Zkusim ještě to roozdělit do
dvoui tabulek a uvidim
Ale zatim
"zaskrtnout"? To je divné. A tu detekci chyb sis tam už udělal?
Stejně si nemohu zvyknout na ty pleonasmy v názvech sloupců. Proč máš v každém sloupci i název tabulky? Pochopil bych to, kdybys používal NATURAL JOIN nebo alespoň USING, ale jen u klíčových sloupců.
Proč se ta tabulka jmenuje "articles" a ne "article"? Máš snad v jednom řádku víc článků?
Ahoj, ještě jsem to neopravil.
to article tam mám to to, že v databázi mám víc tabulek se stejnými
sloupci,tak aby to nebylo duplicitní
Duplicita názvů sloupců v různých tabulkách ničemu nevadí. Navíc je v SQL dotazu můžeš kdykoli přejmenovat podle potřeby.
Tak jsem se na to vrhl..a stačilo teda vymazat pár sloupců z s tabulky,
které jsem tam měl navíc, takže bez těch sloupců se dá obejít.
Měl jsem tak 7 sloupců, teď jich tam mám 4. Fakt nevim čim to může být,
když do překročení maximálního limitu sloupců mám ještě dost hodně co
dělat . Sice to teď
funguje, ale stejně mě vrtá hlavou, čím to asi tam může být
. Dám to tedy do dvou tabulek.
Stejně mě to zajímá, čím to asi tak může být
Bez chybového výstupu se můžeme jenom dohadovat, co bylo příčinou. Nekompatibilita dat, narušení UNIQUE, ...
Možná bys ten chybový výstup měl konečně udělat.
myslíš opravit tu injekci?
Ale tím pádem, kdyby to bylo blbě, tak by mi to nefungovalo i u čtyřech
sloupců, nemyslíš?
Samozřejmě to opravím
Ne. Myslel jsem tím chybový výstup neprovedeného SQL dotazu. Výsledek vůbec netestuješ a divíš se, že se ti SQL dotaz neprovedl.
Máš pravdu...to taky možná je důsledek toho, proč mi to nejde, takže
to taky opravím
Zobrazeno 14 zpráv z 14.