|
| 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!
| |
|
|