|
| indsætte data i mysql Fra : Søren |
Dato : 15-06-02 23:18 |
|
Jeg skal have data ind i en MySQL tabel med PHP og har nedenstående, som jeg
hele tiden får fejlmelding på. Jeg har været inde og se artiklerne på
webcafe.dk og læst i en lærebog men synes, at jeg har gjort det rigtig nok.
Måske har jeg stirret mig blind på et eller andet så jeg håber, at der er én
af jer, der kan se min fejl.
Søren
//insert data
$tabel = "kontakt";
$id = "5";
$link = " http://www.xbase.dk/email.php";
$tekst = "Kontakt pr. e-mail";
$insertSQL = "insert into $tabel set
id = '$id',
link = '$link',
tekst = '$tekst'";
mysql_query($insertSQL);
| |
Per Thomsen (15-06-2002)
| Kommentar Fra : Per Thomsen |
Dato : 15-06-02 23:29 |
|
"Søren" <sorenh@gmx.net> wrote in message
news:a2PO8.56965$N46.1825374@news010.worldonline.dk...
> Jeg skal have data ind i en MySQL tabel med PHP og har nedenstående, som
jeg
> hele tiden får fejlmelding på. Jeg har været inde og se artiklerne på
Hvilken fejlmelding?
Det er generelt altid en god idé at fortælle hvilken fejlmelding du får,
da det så bliver lidt nemmere at hjælpe dig.
>
> //insert data
> $tabel = "kontakt";
> $id = "5";
> $link = " http://www.xbase.dk/email.php";
> $tekst = "Kontakt pr. e-mail";
> $insertSQL = "insert into $tabel set
> id = '$id',
> link = '$link',
> tekst = '$tekst'";
> mysql_query($insertSQL);
>
Da du har læst, artiklerne på webcafe, går jeg self. ud fra at
det her er klippet ud af din kode, og at du inden du når hertil
har fået oprettet en forbindelse til databasen, og valgt en
database, men for lige at være på den sikre side:
Har du oprettet en forbindelse til mysql og valgt en database?
MVH Per Thomsen,
http://www.pert.dk/
| |
Jakob Møbjerg Nielse~ (16-06-2002)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 16-06-02 10:45 |
|
> $id = "5";
$id = 5;
> $insertSQL = "insert into $tabel set
> id = '$id',
id = $id
Jeg går ud fra at id feltet i databasen er et tal.
--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
| -- Terry Pratchett, Reaper Man
| |
Søren (16-06-2002)
| Kommentar Fra : Søren |
Dato : 16-06-02 11:10 |
|
Jeg foretog ændringen omkring id, da det id, som skal indsættes, rigtig nok
er et tal. Det kommer så til at se således ud:
//insert data
$tabel = "famkontakt";
$id = 5;
$link = " http://www.xbase.dk/email.php";
$tekst = "Kontakt pr. e-mail";
$insertSQL = "insert into $tabel set
id = $id,
link = '$link',
tekst = '$tekst'";
mysql_query($insertSQL);
men jeg får stadig den samme fejl melding, som siger:
Parse error: parse error, unexpected T_STRING in [url] on line 27
og linje 27 er linjen: $tabel = "famkontakt";
Søren
| |
Jakob Møbjerg Nielse~ (16-06-2002)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 16-06-02 11:17 |
|
> Parse error: parse error, unexpected T_STRING in [url] on line 27
Hvilken linje står der før linje 27?
--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
| -- Terry Pratchett, Reaper Man
| |
Søren (16-06-2002)
| Kommentar Fra : Søren |
Dato : 16-06-02 11:29 |
|
"Jakob Møbjerg Nielsen" <jakob@dataloger.dk> skrev i en meddelelse
news:aehoj7$slo$1@sunsite.dk...
> > Parse error: parse error, unexpected T_STRING in [url] on line 27
>
> Hvilken linje står der før linje 27?
Her er den kode, der er før linje 27 som den er - kopieret direkte over...
Men så opdagede jeg at der jo manglede et " da der skal stå: primary key
(link))"; efter at have sat det ind og uploadet så funker det ...
Selvom jeg lige opdagede fejlen selv, så har I hjulpet alligevel så tak for
det.
//create table
$tabelSQL = "create table famkontakt (
id varchar(3) not null,
link varchar(75) not null,
tekst varchar(50) not null,
constraint famkontaktpk
primary key (link));
mysql_query($tabelSQL);
//insert data
$tabel = "famkontakt";
$id = 5;
$link = " http://www.xbase.dk/email.php";
$tekst = "Kontakt pr. e-mail";
$insertSQL = "insert into $tabel set
id = $id,
link = '$link',
tekst = '$tekst'";
mysql_query($insertSQL);
| |
Jakob Møbjerg Nielse~ (16-06-2002)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 16-06-02 11:39 |
|
> der skal stå: primary key (link))";
Netop. Når du får parse errors, og ikke kan se fejlen, er det altid en
god ide at kigge på linjerne før.
--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
| -- Terry Pratchett, Reaper Man
| |
Jakob Møbjerg Nielse~ (16-06-2002)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 16-06-02 11:41 |
|
> //create table
> $tabelSQL = "create table famkontakt (
> id varchar(3) not null,
> link varchar(75) not null,
> tekst varchar(50) not null,
> constraint famkontaktpk
> primary key (link));
> mysql_query($tabelSQL);
Forresten... det er vel ikke nødvendigt at køre dette SQL hver gang?
Hvis det er, så bør du skrive:
$tabelSQL = "create table if not exists famkontakt (
....
--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
| -- Terry Pratchett, Reaper Man
| |
Søren (16-06-2002)
| Kommentar Fra : Søren |
Dato : 16-06-02 13:48 |
|
"Jakob Møbjerg Nielsen" <jakob@dataloger.dk> skrev i en meddelelse
news:aehq03$30c$1@sunsite.dk...
> > //create table
> > $tabelSQL = "create table famkontakt (
> > id varchar(3) not null,
> > link varchar(75) not null,
> > tekst varchar(50) not null,
> > constraint famkontaktpk
> > primary key (link));
> > mysql_query($tabelSQL);
>
> Forresten... det er vel ikke nødvendigt at køre dette SQL hver gang?
> Hvis det er, så bør du skrive:
>
> $tabelSQL = "create table if not exists famkontakt (
Jeg kører den ikke hver gang, men havde ikke opstillet tabellen rigtig i
første omgang, så derfor blev den slettet og en ny oprettet. Straks efter
den nye er oprettet smides der data ind i den.
Søren
| |
-Martin- (16-06-2002)
| Kommentar Fra : -Martin- |
Dato : 16-06-02 15:19 |
|
On Sun, 16 Jun 2002 00:17:41 +0200, "Søren" <sorenh@gmx.net> wrote:
>Jeg skal have data ind i en MySQL tabel med PHP og har nedenstående, som jeg
>hele tiden får fejlmelding på. Jeg har været inde og se artiklerne på
>webcafe.dk og læst i en lærebog men synes, at jeg har gjort det rigtig nok.
>Måske har jeg stirret mig blind på et eller andet så jeg håber, at der er én
>af jer, der kan se min fejl.
>
>Søren
>
>//insert data
>$tabel = "kontakt";
>$id = "5";
>$link = " http://www.xbase.dk/email.php";
>$tekst = "Kontakt pr. e-mail";
>$insertSQL = "insert into $tabel set
> id = '$id',
> link = '$link',
> tekst = '$tekst'";
>mysql_query($insertSQL);
Hvis du kigger i manualen så finder du ud af at man kun sætter
variabler ved en UPDATE, og som jeg kan se skal du lave en helt ny
række ... Så derfor så ska du bruge VALUES (se mit eks.)
mysql_query("INSERT INTO tabel VALUES('$id','$link','$tekst')") OR DIE
(mysql_error());
| |
Jakob Møbjerg Nielse~ (16-06-2002)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 16-06-02 15:30 |
|
> Hvis du kigger i manualen så finder du ud af at man kun sætter
> variabler ved en UPDATE,
Niks
http://www.mysql.com/doc/I/N/INSERT.html:
INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name
SET col_name=expression, col_name=expression, ...
--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
| -- Terry Pratchett, Reaper Man
| |
|
|