Elikkäs missä vika? Alla olevassa koodissa on sensuroidut salasanat yms.
<?php $connection = mysql_connect("localhost", "********", "*******") or die("Error: ".mysql_error()); if(!mysql_select_db("***********", $connection)) { echo "ERROR: ".mysql_error()."<br /><br />"; } $request = "CREATE TABLE persons (id TEXT, type TEXT, name TEXT, secname TEXT, group TEXT, movie TEXT)"; if(!mysql_query($request, $connection)) { echo "LUONTI EPÄONNISTUI!<br /> Error: ".mysql_error()."<br><br>"; } $request = "INSERT INTO persons (id, type, name, secname, group, movie) VALUES ('1', 'group', 'test_group', 'none', 'none', 'none')"; if(!mysql_query($request, $connection)) { echo "LUONTI EPÄONNISTUI!<br /> Error: ".mysql_error()."<br><br>"; } $request = "INSERT INTO persons (id, type, name, secname, group, movie) VALUES ('2', 'person', 'esa järvi', 'none', 'test_group', 'none')"; if(!mysql_query($request, $connection)) { echo "LUONTI EPÄONNISTUI!<br /> Error: ".mysql_error()."<br><br>"; } $request = "INSERT INTO persons (id, type, name, secname, group, movie) VALUES ('3', 'person', 'testi mikko', 'none', 'test_group', 'none')"; if(!mysql_query($request, $connection)) { echo "LUONTI EPÄONNISTUI!<br /> Error: ".mysql_error()."<br><br>"; } mysql_close($connection); ?>
appina kirjoitti:
Elikkäs missä vika?
Sun pitäis kertoa meille ni olis helpompi kertoa, mistä se johtuu.
Elikkä, se ei nyt jostain syystä suostu lisäämään tuota taulua tuonne tietokantaan eikä siten myöskään lisäämään noita muita juduja. Jokaisen kohdalla antaa ulos "LUONTI EPÄONNISTUI!" ja sitten jotain syntax erroria riville 1. En oikein esim. taulun lisäyksen kohdalla antaa errorin:
LUONTI EPÄONNISTUI!
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group TEXT, movie TEXT)' at line 1
Pistä noi sarakkeiden nimet lainausmerkkien sisään.
Joo elikkä ongelma on ratkaistu. Tuo group on sellainen sana, jota ei kärsi käyttää tuolla, joten sen nimeäminen uudelleen auttoi ratkaisemaan tuon ongelman.
Sivuhuomautuksena vain, että tuollainen kantarakenne, jossa kaikki kentät ovat tekstikenttiä ei ole oikein optimaalinen. Esim. Id todennäköisesti kannattaisi olla Id auto_increment primary key
, jolloin MySQL autommaattisesti lisää sinne juoksevan numeron.
AJV kiitoksia vinkistä. Pitää tehdä muutoksia tuonne muuallekkin niin käy kätevämmin tämä homma. En ole ammattimies vielä tietokantojen kanssa.
Fiksua olisi myös säätää virheilmoitukset niin, että niistä nopeasti selviää, mikä noista kohdista meni pieleen. Ei ole kätevää, että jokaisesta tulee sama virheteksti (vaikka näkeehän sen tarkemmin sitten MySQL-virheviestistä).
Metabolix kirjoitti:
Fiksua olisi myös säätää virheilmoitukset niin, että niistä nopeasti selviää, mikä noista kohdista meni pieleen. Ei ole kätevää, että jokaisesta tulee sama virheteksti (vaikka näkeehän sen tarkemmin sitten MySQL-virheviestistä).
Sama olisi käyttää php:n trigger_error-funktiota, joka sitten näyttää oletuksena missä rivillä errori tapahtui jne. Samoin virheilmoitusten/tilanteiden hallinta paranee, kaikki errorit voi halutessaan vaikka logittaa set_error_handler-funktiolla.
Aihe on jo aika vanha, joten et voi enää vastata siihen.