Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ongelma tietokannan taulukon luonnissa

Sivun loppuun

appina [18.05.2007 14:51:50]

#

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);
?>

tsuriga [18.05.2007 14:56:27]

#

appina kirjoitti:

Elikkäs missä vika?

Sun pitäis kertoa meille ni olis helpompi kertoa, mistä se johtuu.

appina [18.05.2007 15:03:12]

#

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

kayttaja-2791 [18.05.2007 15:16:24]

#

Pistä noi sarakkeiden nimet lainausmerkkien sisään.

appina [18.05.2007 15:18:36]

#

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.

ajv [18.05.2007 16:32:10]

#

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.

appina [18.05.2007 16:45:29]

#

AJV kiitoksia vinkistä. Pitää tehdä muutoksia tuonne muuallekkin niin käy kätevämmin tämä homma. En ole ammattimies vielä tietokantojen kanssa.

Metabolix [19.05.2007 12:36:51]

#

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ä).

kayttaja-2791 [19.05.2007 14:15:13]

#

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.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta