Avatar billede NielsErikP Mester
25. juni 2011 - 00:12 Der er 10 kommentarer og
1 løsning

PHP/MySql -- Uexpected T_string..??

Hej..
Har fået en hjemmeside, og er ny i PHP og MySQL..
Jeg har fået oprettet en database og en tabel på min server.
Men nu er jeg ved at prøve at lave en gæstebog til min hjemmeside. Men inden jeg ligger gæstebogs  filen op på serveren vil jeg gerne teste den på computeren. Jeg har da jeg gik igang med PHP installeret XAMPP på min computer, så vidt jeg har forstået skal XAMPP både indeholde apache,MySQL oog PHP i et.
Så for at teste min gæstebog lokalt, vil jeg oprette en database og en tabel på computeren, så jeg har i C:\XAMPP\HTDOCS.. oprettet følgende fil  :



<?php

CREATE DATABASE web145-bog;


CREATE TABLE bog (
        nr        INT PRIMARY KEY AUTO_INCREMENT,
        navn    VARCHAR(32) NOT NULL,
        dato    VARCHAR(32) NOT NULL,
        besked  VARCHAR(1024) NOT NULL
);


?>



Men får desværre følgende fejl  :



Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\OPRET_DATABASE_TABEL.php on line 3



Jeg syntes ikke at kunne se, hvor fejlen ligger, jeg da husket semikolon.
Er der nogle "HardCore" der kan give lidt hjælp til at få den database og tabel oprettet lokalt.

På forhånd tak..!!
Avatar billede webweaver Praktikant
25. juni 2011 - 00:28 #1
Du kan ikke bare smide det ind i en fil.
Du må også fortælle at det er MySQL og ikke tekst eller hvad det nu ellers kunne være ... :)

<?php

$mysql_connect = mysql_connect(*****, *****, *****);
$mysql_select_db = mysql_select_db(*****);

mysql_query("

    CREATE TABLE bog (
    nr      INTEGER NOT NULL AUTO_INCREMENT,
    navn    VARCHAR(32) NOT NULL,
    dato    VARCHAR(32) NOT NULL,
    besked  VARCHAR(1024) NOT NULL
    PRIMARY KEY(nr))
   
");

?>
Avatar billede NielsErikP Mester
25. juni 2011 - 00:41 #2
Hej..
Okie.. 10-4!!

Du connecter til til... "host,user,password" med mysql_connect
Så vælger databasen med mysql_select-db, men hvor er din CREATE DATABASE henne, du kan jo ikke vælge en database der ikke er oprettet.
Nu er jeg ny og min MySql kan ligge på et lille sted, kender det kun fra et libris hæfte.. Så hvad sker der med "mysql_query"
Avatar billede webweaver Praktikant
25. juni 2011 - 00:52 #3
Det er naturligvis korrekt.
Du kan ikke vælge database, før du har oprettet den.

Prøv med dette. Er ikke testet.

<?php

$mysql_connect = mysql_connect(*****, *****, *****);

mysql_query("

    CREATE DATABASE web145-bog
   
");

$mysql_select_db = mysql_select_db(*****);

mysql_query("

    CREATE TABLE bog (
    nr      INTEGER NOT NULL AUTO_INCREMENT,
    navn    VARCHAR(32) NOT NULL,
    dato    VARCHAR(32) NOT NULL,
    besked  VARCHAR(1024) NOT NULL
    PRIMARY KEY(nr))
   
");

?>
Avatar billede webweaver Praktikant
25. juni 2011 - 00:55 #4
mysql_query bruges til at sende en MySQL query så at sige.

Se evt. mere her,
http://php.net/manual/en/function.mysql-query.php
Avatar billede NielsErikP Mester
25. juni 2011 - 03:52 #5
Hej..
Nu har jeg prøvet at følge dit eksempel  :



<?php
$MySql_connect= mysql_connect("localhost","Test","nggb67");

mysql_query("
    CREATE DATABASE web145-bog
   
");

$MySql_select_db= mysql_select_db("web145-bog"); 


mysql_query("

        CREATE TABLE bog (
                nr        INT PRIMARY KEY AUTO_INCREMENT,
                navn    VARCHAR(32) NOT NULL,
                dato    VARCHAR(32) NOT NULL,
                besked  VARCHAR(1024) NOT NULL
)");

?>



kører gennem IE9 taster localhost og php fil navn, får følgende fejlmelding  :




Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'Test'@'localhost' (using password: YES) in C:\xampp\htdocs\OPRET_DATABASE_TABEL.php on line 2



What's wrong??
Avatar billede NielsErikP Mester
25. juni 2011 - 03:58 #6
Hej igen..
Har brugt en del tid på at hente PhpMyAdmin og installere og konfigurere...
Men problemet med den er med den, at posten i tablen bog "nr", har man ikke mulighed for at give værdien "INT PRIMARY KEY AUTO_INCREMENT"
Ved du noget om, hvorledes det gøres, ville det være rart at vide!!
Avatar billede webweaver Praktikant
25. juni 2011 - 04:05 #7
Se, hvordan jeg har skrevet det.
Det du har lavet, er ikke sådan jeg har vist det :-)

Prøv som sagt med

CREATE TABLE bog (
nr      INTEGER NOT NULL AUTO_INCREMENT,
navn    VARCHAR(32) NOT NULL,
dato    VARCHAR(32) NOT NULL,
besked  VARCHAR(1024) NOT NULL
PRIMARY KEY(nr))
Avatar billede NielsErikP Mester
26. juni 2011 - 11:55 #8
Hej...
Prøvede det du har skrevet, den kører blank side uden fejl, men så har jeg installeret PhpMyAdmin, den kan ikke se der er oprettet nogen Database eller tabel. Så må jo gå ud fra at det ikke virker, og når jeg kører mit gæstebogs script med en "or die(mysql_error()" får jeg bare fejl meldingen "No database selected", kunne jo tyde på der ingen var af det navn.

Og nu prøver jeg så at starte PhpMyAdmin, nu kan den heller ikke starte, noget med bruger og password. men det opretter jeg lige et seperat spørgsmål på her på Eksperten.dk
Avatar billede webweaver Praktikant
28. juni 2011 - 11:44 #9
Hmm, måske hvis du prøver at oprette det af 2 omgange.

Først en fil med CREATE DATABASE og bagefter en anden fil med CREATE TABLE.

fil_1.php

<?php

$MySql_connect= mysql_connect("localhost","*****","*****");

mysql_query("
 
CREATE DATABASE web145-bog
   
");

?>


fil_2.php

<?php

$MySql_connect= mysql_connect("localhost","*****","*****");
$MySql_select_db= mysql_select_db("web145-bog"); 

mysql_query("

CREATE TABLE bog (
nr      INTEGER NOT NULL AUTO_INCREMENT,
navn    VARCHAR(32) NOT NULL,
dato    VARCHAR(32) NOT NULL,
besked  VARCHAR(1024) NOT NULL
PRIMARY KEY(nr))

");

?>
Avatar billede NielsErikP Mester
29. juni 2011 - 11:39 #10
Hej...
Så er jeg tilbage... Det virker i to file, den opretter både DATABASE og TABEL.
Jeg includer fil_2.php i fil_1.php.
Så er jeg gået lidt videre og prøver med en HTML form med input felt. Men kan ikke få den til at acceptere variablen i CREATE DATABASE variable.

Læg et svar webweaver.

Og tak for hjælpen!!!
Avatar billede webweaver Praktikant
29. juni 2011 - 12:19 #11
Det var godt, at det virkede :-)

Hvis du ikke kan få det andet til at virke, må du jo lige oprette en tråd herinde, hvor vi kan kigge på det.

Fortsat god dag.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester