/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
kan simpelthen ikke se fejlen
Fra : Stoffer


Dato : 01-01-05 21:05

$addnyheder = mysql_query("INSERT INTO nyheder
(id,navn,indhold)"."VALUES('NULL','$navn','$indhold')");

Første gang jeg prøver at kode php så har svært ved at se fejlen... nogen
der kan hjælpe?



 
 
Mads Jensen (01-01-2005)
Kommentar
Fra : Mads Jensen


Dato : 01-01-05 21:38

Stoffer wrote:
> $addnyheder = mysql_query("INSERT INTO nyheder
> (id,navn,indhold)"."VALUES('NULL','$navn','$indhold')");

1: Jeg har lidt svært ved at se, at "." skulle gøre noget godt; det er
forkert syntax, og skulle have være ."".

2: At id=NULL er jeg lidt uenig i, men det er lang tid siden, at jeg har
leget med mySQL, og orker ikke at rode i manualen lige nu

mvh.
--
Mads Jensen
To email me, remove z's in my address

Q: Why shouldn't I simply delete the stuff I never use, it's just taking up
space?
A: This question is in the category of Famous Last Words..
   -- From the Frequently Unasked Questions

Leonard (01-01-2005)
Kommentar
Fra : Leonard


Dato : 01-01-05 22:46

Mads Jensen <madsj@razptuzs.dk> wrote:

>> $addnyheder = mysql_query("INSERT INTO nyheder
>> (id,navn,indhold)"."VALUES('NULL','$navn','$indhold')");
>
>1: Jeg har lidt svært ved at se, at "." skulle gøre noget godt; det er
>forkert syntax, og skulle have være ."".

Det tror jegikke det skal, jeg ville helt fjerne "." og bare have et
mellemrum der.

>2: At id=NULL er jeg lidt uenig i, men det er lang tid siden, at jeg har
>leget med mySQL, og orker ikke at rode i manualen lige nu

Jo, hvis ID er autoincrement så er det fint at give det en NULL, så
tæller den jo selv op.

--
med venlig hilsen
Leonard - http://leonard.dk/

Michael Rasmussen (01-01-2005)
Kommentar
Fra : Michael Rasmussen


Dato : 01-01-05 23:03

On Sat, 01 Jan 2005 22:45:51 +0100, Leonard wrote:

>
> Det tror jegikke det skal, jeg ville helt fjerne "." og bare have et
> mellemrum der.
Nej, det skal se ud på følgende måde:
$addnyheder = mysql_query("INSERT INTO nyheder(id,navn,indhold) "
.."VALUES('NULL','$navn','$indhold')");

Hvis tuplen id har auto_increment, kan den helt udelades, hvilket giver
$addnyheder = mysql_query("INSERT INTO nyheder(navn,indhold) "
.."VALUES('$navn','$indhold')");
>
>
> Jo, hvis ID er autoincrement så er det fint at give det en NULL, så
> tæller den jo selv op.
Hvorfor medtage den i insert når den får tildelt en værdi automatisk?
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


Leonard (01-01-2005)
Kommentar
Fra : Leonard


Dato : 01-01-05 23:25

Michael Rasmussen <mir@miras.org> wrote:

>> Det tror jegikke det skal, jeg ville helt fjerne "." og bare have et
>> mellemrum der.

>Nej, det skal se ud på følgende måde:
>$addnyheder = mysql_query("INSERT INTO nyheder(id,navn,indhold) "
>."VALUES('NULL','$navn','$indhold')");

Det er sg* da det samme!

" " == " ".""


--
med venlig hilsen
Leonard - http://leonard.dk/

Michael Rasmussen (01-01-2005)
Kommentar
Fra : Michael Rasmussen


Dato : 01-01-05 23:36

On Sat, 01 Jan 2005 23:24:54 +0100, Leonard wrote:

>
> Det er sg* da det samme!
>
> " " == " ".""
Nej, min linje indeholder en blanktegn:
mysql_query("INSERT INTO nyheder(id,navn,indhold) "
^
Det oprindelige havde ikke dette blanktegn, hvorfor det her blev
oversat til følgende af MySQL:
INSERT INTO nyheder (id,navn,indhold)VALUES('NULL','tekst','tekst')

Uden blanktegn mellem ) og VALUES giver en fejlmeddelelse.
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


Leonard (01-01-2005)
Kommentar
Fra : Leonard


Dato : 01-01-05 23:48

Michael Rasmussen <mir@miras.org> wrote:

>> Det er sg* da det samme!
>>
>> " " == " ".""
>Nej, min linje indeholder en blanktegn:
>mysql_query("INSERT INTO nyheder(id,navn,indhold) "
> ^

Og jeg skrev først:
>> Det tror jegikke det skal, jeg ville helt fjerne "." og bare have et
>> mellemrum der.

Og igen at:
>> " " == " ".""

Der er ingen grund til at dele strengen op i 2 halvdele, slet ikke når
det kan forvirre.


--
med venlig hilsen
Leonard - http://leonard.dk/

Michael Rasmussen (02-01-2005)
Kommentar
Fra : Michael Rasmussen


Dato : 02-01-05 00:06

On Sat, 01 Jan 2005 23:47:51 +0100, Leonard wrote:

> Og jeg skrev først:
>>> Det tror jegikke det skal, jeg ville helt fjerne "." og bare have et
>>> mellemrum der.
>
> Og igen at:
>>> " " == " ".""
>
Jeg opfattede det som om, at du foreslog at erstatte . med blanktegn
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


Leonard (02-01-2005)
Kommentar
Fra : Leonard


Dato : 02-01-05 00:29

Michael Rasmussen <mir@miras.org> wrote:

>Jeg opfattede det som om, at du foreslog at erstatte . med blanktegn

Nåeh, så forstår jeg forvirringen ...

--
med venlig hilsen
Leonard - http://leonard.dk/

Peter Brodersen (02-01-2005)
Kommentar
Fra : Peter Brodersen


Dato : 02-01-05 20:12

On Sat, 01 Jan 2005 21:38:08 +0100, Mads Jensen <madsj@razptuzs.dk>
wrote:

>2: At id=NULL er jeg lidt uenig i, men det er lang tid siden, at jeg har
>leget med mySQL, og orker ikke at rode i manualen lige nu

MySQL har ingen problemer med det. I det aktuelle tilfælde blev der
dog ikke indsat NULL, men 'NULL', hvilket er en string.

Resultatet er dog det samme - 'NULL' bliver castet om til felt-typen
(ved at der bliver læst tal fra venstre side af stringen, indtil et
"ikke-tal-tegn" mødes), og selv om der er tale om et talfelt, vil
bl.a. 0 blive ændret til næste autoincrement-værdi.

Dog, man bør næppe regne på at alle systemer gennemgår samme række af
stille typeændringer og accept. MySQL giver da også en warning (ikke
at forveksle med en E_WARNING fra PHPs side) i den forbindelse, fx:
"Data truncated for column 'id' at row 1"

--
- Peter Brodersen

Stoffer (01-01-2005)
Kommentar
Fra : Stoffer


Dato : 01-01-05 23:12

virker stadig ikke..

Koden er :
<?php
include "db_connect.php";

$navn = $_POST["navn"];
$indhold = $_POST["indhold"]

$addnyheder = mysql query("INSERT INTO nyheder (id,navn,indhold)
VALUES('NULL','$navn','$indhold')");

print succes
?>

id er autoincrement i min database, så burde kunne skrive NULL



Dan Storm (01-01-2005)
Kommentar
Fra : Dan Storm


Dato : 01-01-05 23:20

ualmindeligt dårlig syntaks....

<?php
include('db_connect.php');

$navn = $_POST['navn'];
$indhold = $_POST['indhold']

if(mysql_query("INSERT INTO nyheder (navn, indhold) VALUES ('".$navn."',
'".$indhold."')")) {
   echo 'success';

?>
--
Dan Storm

http://err0r.dk
storm@err0r.dk

PGP Public key på http://err0r.dk/pubring.pkr

>>> husk på; en ekspert er en person der har begået alle fejl mulige
inden for et bestemt område

Leonard (01-01-2005)
Kommentar
Fra : Leonard


Dato : 01-01-05 23:31

"Stoffer" <christoffer@buur.info> wrote:

>$addnyheder = mysql query("INSERT INTO nyheder (id,navn,indhold)
>VALUES('NULL','$navn','$indhold')");

Kopier din kode over i stedet for at skrive den igen, for her mangler
du en _ i mysql_query.

Hvad er det der ikke virker?
Prøv at indsætte
or die(mysql_error())
lige før dit ; i ovenstående linie, så får du en fejlmelding ud der
måske kan give dig et hint.

Det kan være farligt bare at smide data ind uden at kontrollere om de
er iorden først som du gør her.

--
med venlig hilsen
Leonard - http://leonard.dk/

Stoffer (01-01-2005)
Kommentar
Fra : Stoffer


Dato : 01-01-05 23:56

Kom til at tænke på..
i har jo sådan set fået hele min kode til at ligge det ind i min database..
men jeg skriver jo $addnyheder er det 'rigtigt' at gøre det på den måde??
jeg definerer jo bare en variabel, mangler der ikke noget?



Leonard (02-01-2005)
Kommentar
Fra : Leonard


Dato : 02-01-05 00:08

"Stoffer" <christoffer@buur.info> wrote:

>Kom til at tænke på..

Dan Storm har postet et forslag til en bedre kode, prøv at sætte den
ind i stedet for det du har.

--
med venlig hilsen
Leonard - http://leonard.dk/

Stoffer (01-01-2005)
Kommentar
Fra : Stoffer


Dato : 01-01-05 23:59

or die(mysql_error()) satte jeg ind i linjen lige ovenover fejllinjen, men
der kom intet ud af det.. fik samme svar som før

Parse error: parse error in c:\apache\apache\htdocs\privat\cms\2dbase.php on
line 7



Stoffer (02-01-2005)
Kommentar
Fra : Stoffer


Dato : 02-01-05 14:44

får stadig samme svar, har også prøvet med Dan's kode...
er det muligt at jeg har en forkert opsætning i min database??



Dan Storm (02-01-2005)
Kommentar
Fra : Dan Storm


Dato : 02-01-05 17:15

prøv denne linie for sig selv. (selvfølgelig med db connect)

mysql_query("INSERT INTO nyheder (navn, indhold) VALUES ('Overskrift',
'Indhold')") or Die(mysql_error());

--
Dan Storm

http://err0r.dk
storm@err0r.dk

PGP Public key på http://err0r.dk/pubring.pkr

>>> husk på; en ekspert er en person der har begået alle fejl mulige
inden for et bestemt område

Per Thomsen (02-01-2005)
Kommentar
Fra : Per Thomsen


Dato : 02-01-05 16:00

Stoffer wrote:

> or die(mysql_error()) satte jeg ind i linjen lige ovenover fejllinjen, men
> der kom intet ud af det.. fik samme svar som før
>
> Parse error: parse error in c:\apache\apache\htdocs\privat\cms\2dbase.php on
> line 7
>
>

Det betyder at der er fejl i din PHP og ikke at der er fejl i dit SQL.
Selvom parse error'en er på linje 7 kan fejlen ofte findes indenfor et
par linjer før.
Jeg kunne forestille mig ud fra det vi har set, at du har en uafsluttet
strengkonstant (du mangler enten ' eller ") inden linje 7.

Nogle gange er det også bare et manglende semikolon, eller en
(tuborg-)parantes, der ikke er afsluttet.


Hvis du ikke selv kan finde den, så prøv at vise os hele koden op til og
med linje 7, og brug nu copy-paste i stedet for at skrive koden igen.

MVH Per Thomsen,
http://www.pert.dk/

Stoffer (02-01-2005)
Kommentar
Fra : Stoffer


Dato : 02-01-05 19:51

> Hvis du ikke selv kan finde den, så prøv at vise os hele koden op til og
> med linje 7, og brug nu copy-paste i stedet for at skrive koden igen.
Jeg er ikke klar over hvor ideen om at jeg har skrevet koden ind er kommet
fra, har benyttet mig at copy/paste og gør det igen..

Min kode er som sådan :
<?php
include('db_connect.php');

$navn = $_POST['navn'];
$indhold = $_POST['indhold']
$addnyheder = mysql_query("INSERT INTO nyheder (navn, indhold) VALUES
('Overskrift',
'Indhold')") or Die(mysql_error()); {
echo 'success';
?>



Peter Brodersen (02-01-2005)
Kommentar
Fra : Peter Brodersen


Dato : 02-01-05 20:04

On Sun, 2 Jan 2005 19:51:04 +0100, "Stoffer" <christoffer@buur.info>
wrote:

>$indhold = $_POST['indhold']

Du mangler et ; i slutningen af den linje.

--
- Peter Brodersen

Peter Brodersen (02-01-2005)
Kommentar
Fra : Peter Brodersen


Dato : 02-01-05 20:05

On Sun, 2 Jan 2005 19:51:04 +0100, "Stoffer" <christoffer@buur.info>
wrote:

>$addnyheder = mysql_query("INSERT INTO nyheder (navn, indhold) VALUES
>('Overskrift',
>'Indhold')") or Die(mysql_error()); {
>echo 'success';

... og den { giver heller ingen mening dér. Væk med den.

--
- Peter Brodersen

Stoffer (02-01-2005)
Kommentar
Fra : Stoffer


Dato : 02-01-05 20:29

Jamen tak! det løste sandelig problemet..

Går straks igang med det næste, nemlig at dataen åbenbar ikke kommer i
databasen, men det er næppe php spørgsmål længere! tak for hjælpen!



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste