Database instellen via PHP
De gegevens voor de tabel die ik moet invoegen staan hier. Het laatst geschreven scriptje geeft mij de volgende melding waar ik weinig mee kan:
Code (php)
1
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 ')' at line 11
Het scriptje:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html>
<body>
<?php
// Connect
mysql_connect("localhost", "***", "***") or die(mysql_error());
mysql_select_db("***") or die(mysql_error());
// Create table
mysql_query("CREATE TABLE wiki_whitelist(
wl_id int(8) NOT NULL auto_increment,
wl_user_id int(5) NOT NULL,
wl_page_title varchar(255) NOT NULL,
wl_allow_edit int(1) NOT NULL,
wl_expires_on varchar(19) DEFAULT NULL,
wl_updated_by_user_id int(5) NOT NULL,
wl_updated_on timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (wl_id),
UNIQUE id (wl_id),
)") or die(mysql_error());
?>
</body>
</html>
<body>
<?php
// Connect
mysql_connect("localhost", "***", "***") or die(mysql_error());
mysql_select_db("***") or die(mysql_error());
// Create table
mysql_query("CREATE TABLE wiki_whitelist(
wl_id int(8) NOT NULL auto_increment,
wl_user_id int(5) NOT NULL,
wl_page_title varchar(255) NOT NULL,
wl_allow_edit int(1) NOT NULL,
wl_expires_on varchar(19) DEFAULT NULL,
wl_updated_by_user_id int(5) NOT NULL,
wl_updated_on timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (wl_id),
UNIQUE id (wl_id),
)") or die(mysql_error());
?>
</body>
</html>
Is het iets simpels wat ik over het hoofd zie, of zou ik het script op een andere manier moeten schrijven? Graag hoor ik het.
Gewijzigd op 10/10/2010 16:28:17 door HJ V
Edit:
Dood ga je maar een keer, dus bouw fatsoenlijke foutafhandeling in...
Dood ga je maar een keer, dus bouw fatsoenlijke foutafhandeling in...
Gewijzigd op 10/10/2010 16:57:21 door SilverWolf NL
Daarnaast zou ik je aanraden om evt een localhost te gebruiken om te testen, en wanneer die werkt dan pas up te loaden.
SilverWolf NL op 10/10/2010 16:56:40:
Er staat een , voor je laatste ), dat staat letterlijk in de foutmelding...
Edit:
Dood ga je maar een keer, dus bouw fatsoenlijke foutafhandeling in...
Dood ga je maar een keer, dus bouw fatsoenlijke foutafhandeling in...
Wat is er hier mis met die()? Er na komt zo goed als geen output. Dus veel kwaad kan het niet.
Aar anoniem op 10/10/2010 19:29:52:
Wat is er hier mis met die()? Er na komt zo goed als geen output. Dus veel kwaad kan het niet.
SilverWolf NL op 10/10/2010 16:56:40:
Er staat een , voor je laatste ), dat staat letterlijk in de foutmelding...
Edit:
Dood ga je maar een keer, dus bouw fatsoenlijke foutafhandeling in...
Dood ga je maar een keer, dus bouw fatsoenlijke foutafhandeling in...
Wat is er hier mis met die()? Er na komt zo goed als geen output. Dus veel kwaad kan het niet.
Na die() wordt je body/html tag niet eens gesloten. Het is gewoon niet netjes, geef gewoon een normale foutmelding. Wat is er mis met echo ipv die?
Wat is er mis met throw i.c.m. try/catch?
Wat is er mis met if($error) /*geef fout*/ else /*ga "normaal" verder met code en doe iets met je data*/
SilverWolf NL op 10/10/2010 16:56:40:
Er staat een , voor je laatste ), dat staat letterlijk in de foutmelding...
Dank dit heeft het probleem van de error opgelost.
SilverWolf NL op 10/10/2010 16:56:40:
Edit:
Dood ga je maar een keer, dus bouw fatsoenlijke foutafhandeling in...
Dood ga je maar een keer, dus bouw fatsoenlijke foutafhandeling in...
Uhm, hier komt mijn beperkte kennis al om de hoek kijken. Hoe zou ik dat moeten doen dan?
Toby hinloopen op 10/10/2010 22:22:51:
Na die() wordt je body/html tag niet eens gesloten. Het is gewoon niet netjes, geef gewoon een normale foutmelding. Wat is er mis met echo ipv die?
Wat is er mis met throw i.c.m. try/catch?
Wat is er mis met if($error) /*geef fout*/ else /*ga "normaal" verder met code en doe iets met je data*/
Wat is er mis met throw i.c.m. try/catch?
Wat is er mis met if($error) /*geef fout*/ else /*ga "normaal" verder met code en doe iets met je data*/
Trow, try, catch zijn termen die mij niets zeggen. Sorry dat het waarschijnlijk een slechte scriptje is, maar ik doe dit ook niet voor mijn beroep. Als je mij concreet zou willen adviseren in hoe een mogelijke foutmelding wel afgehandeld moet worden, zou ik je zeer dankbaar zijn.
Dan heb ik nog een andere vraag, maar die zal waarschijnlijk niet hier thuis horen. De tabel die ik wil aanmaken met het scripje is de tabel "whitelist". Hiervoor zou nog een prefix moeten. Als ik echter in de settings van MediaWiki kijk wordt er achter het statement prefix geen prefix gespecificeerd.
Op mijn eigen server, waar ik voor test doeleinden ook een MediaWiki installatie heb draaien, wordt achter het prefix statement wel een prefix gespecificeerd.
Mijn vraag, zou ik er mee weg komen als ik geen prefix voor mijn tabel naam specificeer ("CREATE TABLE _whitelist" ipv "CREATE TABLE prefix_whitelist")?
HJ V op 11/10/2010 20:04:28:
Mijn vraag, zou ik er mee weg komen als ik geen prefix voor mijn tabel naam specificeer ("CREATE TABLE _whitelist" ipv "CREATE TABLE prefix_whitelist")?
Als je de prefix dan ook verder nergens meer gebruikt werkt dat natuurlijk gewoon. De prefix is bedoeld om data van verschillende oorsprong uit elkaar te houden. Zo kan je bijv. in één database data hebben van twee verschillende sites. De prefixen zijn dan bijv. site1_ en site2_.
Gewijzigd op 11/10/2010 20:32:57 door - SanThe -