Zdravím,
mám článkový systém, a pridávanie riadkov do databázy mi nerobilo problém. No niekedy sa stane, že pri pridaní nového článku, sa NIEKTORÉ staré údaje z iných článkov prepíšu na nové údaje z práve pridávaného. A tak je možné, že všetky články získajú ten istý nadpis alebo niečo iné.
Príkaz v skratke:
mysql_query("INSERT INTO articles VALUES (0,...,...,...)",$con);
samozrejme, že tie ... sú vyplnené.
Myslím si, že to môže byť prvým údajom, store_pos, ktorý bol pri vytvorení tabuľky def. takto:
store_pod INT UNSIGNED NOT NULL AUTO_INCREMENT
Vždy, keď sa pridáva článok, tak to začína s 0.
Ďakujem...
Moc moudrý z toho popisu nejsem. Jedině jsem snad pochopil, že sloupci, který máš nadefinovaný jako auto_increment, vnucuješ vlastní číslo?
Jestli chceš poradit, hoď sem
- strukturu tabulky articles
- kompletní SQL dotaz
Tu je sql na vytvorenie:
CREATE TABLE articles (
store_pos INT UNSIGNED NOT NULL AUTO_INCREMENT,
store_id VARCHAR(32) NOT NULL,
article_headline VARCHAR(255) NOT NULL,
article_text TEXT NOT NULL,
PRIMARY KEY (store_pos)
)
A tu je príkaz na vkladanie:
INSERT INTO articles VALUES (0,'".arid()."','".$_POST["headline"]."','".$_POST["text"]."')
Funkcia arid vracia 32 znakovú hodnotu
Zkus to takto:
INSERT INTO articles (store_id, article_headline, article_text) VALUES ('".arid()."','".$_POST["headline"]."','".$_POST["text"]."')
Proč vnucovat sloupci typu auto_increment nulu?
"
Funkcia arid vracia 32 znakovú hodnotu
INSERT INTO articles VALUES (0,'".arid()."','".$_POST["headline"]."','".$_POST["text"]."')
INSERT INTO articles (store_id, article_headline, article_text) VALUES ('".arid()."','".$_POST["headline"]."','".$_POST["text"]."')
pri pridaní nového článku, sa NIEKTORÉ staré údaje z iných článkov prepíšu na nové údaje z práve pridávaného. A tak je možné, že všetky články získajú ten istý nadpis alebo niečo iné.
"
1 - ja bych to videl asi tak, ze bud arid() vraci spatnou hodnotu
2 - nebo byl problem s tim AUTOINCREMENT
3 - nebo SELECT vraci spatna data
4 - nebo PHP vypisuje spatna data
kdyz se prihlasis do PHPMyAdmina, tam jsou nadpisy take spatne nebo jsou dobre?
Jestli jsou tam dobre, pak je chyba v 3,4 (zobrazovani).
Pokud jsou spatne, pak je chyba v 1,2 (vkladani).
1 - protoze nevim, co vraci arid, nelze rici
2 - protoze do autoincrement jsem nevnucoval hodnotu, nemuzu rici a uz vubec ne nulu
3 - nevidel jsem sellect
4 - nevidel jsem php script
soubor.php -> soubor.txt -> odkaz
Skript na vloženie do databázy som prepísal, tak ako uviedol "zbi" no ale aj tak to nejde, zakaždým, keď sa niečo do MySQL pridáva, prepíše ostatné ponuky
To je nějaké divné. Zkus si ten insert zobrazit a prožeň to přes phpMyAdmina, ať vidíš, co to dělá.
echo "INSERT INTO articles (store_id, article_headline, article_text) VALUES ('".arid()."','".$_POST["headline"]."','".$_POST["text"]."')";
exit();
Aj som si to zobrazil, aj som si to pretriedil, ale nič sa nezmenilo. Lenže toto sa deje na serveri sql2.dnsserver.eu kam sa pripájam. Vkladanie iných dát ide v poriadku, no ostatné len táto jedna sekcia nejde. Neviem prečo, pomóc
Obávám se, že ti s tímto neporadíme. Budeš muset bádat ve svém kódu, případně se spojit s adminem toho serveru.