/ 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
Problem med mysql UPDATE
Fra : Christian Budde Chri~


Dato : 02-09-08 21:27

Hej

Jeg har et problem med min mysql update, jeg er ved at lave en
hjemmeside hvorfra jeg skal have uploadet noget date til min
database, jeg bruger nedenstående funktion

mysql_query("UPDATE sider SET cnt = '".$data."', dttm=now() WHERE
id =$id");}

forinden har jeg åbnet min mysql forbindelse og min upload
fungerer da også upklageligt, men så snart jeg prøver at uploade
tenget ' så beklager den sig.
Jeg har før fået det til at virke på tidligere hjemmesider, men
nu vil det pludslig ikke.
Glæder mig til at høre fra jer,
Mange desparate hilsner Christian

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Gert Krabsen (02-09-2008)
Kommentar
Fra : Gert Krabsen


Dato : 02-09-08 21:58

Christian Budde Christensen skrev:
> Hej
>
> Jeg har et problem med min mysql update, jeg er ved at lave en
> hjemmeside hvorfra jeg skal have uploadet noget date til min
> database, jeg bruger nedenstående funktion
>
> mysql_query("UPDATE sider SET cnt = '".$data."', dttm=now() WHERE
> id =$id");}
>
> forinden har jeg åbnet min mysql forbindelse og min upload
> fungerer da også upklageligt, men så snart jeg prøver at uploade
> tenget ' så beklager den sig.

Jeg tror ikke den bare beklager sig. Mon ikke den også siger lidt om,
hvor det gør ondt?
Eller sagt på en anden måde: Fejlmeddelelser, bitte..


Men formentlig ligger bøffen her:

mysql_query("UPDATE sider SET sider.cnt = '".$data."', dttm=now() WHERE
id = ".$id.";"}


for din id er formentlig et tal og ikke strengen '$id'


Michael Rasmussen (02-09-2008)
Kommentar
Fra : Michael Rasmussen


Dato : 02-09-08 22:03



Dan Storm (02-09-2008)
Kommentar
Fra : Dan Storm


Dato : 02-09-08 22:26

Christian Budde Christensen skrev:
> mysql_query("UPDATE sider SET cnt = '".$data."', dttm=now() WHERE
> id =$id");}
>

Din syntaks ser forkert ud. Det kunne afhjælpes ved at bibeholde den
syntaks du har startet med:

mysql_query("UPDATE sider SET cnt = '".$data."', dttm=NOW() WHERE
id = ".$id); //fjernet sidste } som måske har dannet en parse error?

Men som tidligere nævnt, er det ikke nemt at vide hvad fejlen kan være,
uden at få en fejlmeddelse.

I øvrigt kan du med fordel under test skrive noget ala:
mysql_query("din sql sætning") or die(mysql_error());
for at få udskrevet den fejl som mysql kommer med i tilfælde af at det
er mysql der fejler og ikke dit script.


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Mads Lie Jensen (03-09-2008)
Kommentar
Fra : Mads Lie Jensen


Dato : 03-09-08 06:34

On 02 Sep 2008 20:26:36 GMT, Christian Budde Christensen
<budde_377@hotmail.com> wrote:

>Hej
>
>Jeg har et problem med min mysql update, jeg er ved at lave en
>hjemmeside hvorfra jeg skal have uploadet noget date til min
>database, jeg bruger nedenstående funktion
>
>mysql_query("UPDATE sider SET cnt = '".$data."', dttm=now() WHERE
>id =$id");}
>
>forinden har jeg åbnet min mysql forbindelse og min upload
>fungerer da også upklageligt, men så snart jeg prøver at uploade
>tenget ' så beklager den sig.

Du glemmer at escape' data inden du bruger det i din query:

mysql_query("UPDATE sider SET cnt = '" . mysql_real_escape_string($data)
.."', dttm=now() WHERE id =$id");}

Se http://dk.php.net/manual/en/function.mysql-real-escape-string.php
--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
Gartneriet - http://www.gartneriet.dk/

Christian Budde Chri~ (03-09-2008)
Kommentar
Fra : Christian Budde Chri~


Dato : 03-09-08 07:17

Mange tak for jeres hjælpsomme indputs. Jeg afprøvede Mads Lie Jensens
løsning med at escape' data og det virkede perfekt.

mvh. Christian

Mads Lie Jensen wrote:
> Du glemmer at escape' data inden du bruger det i din query:
>
> mysql_query("UPDATE sider SET cnt = '" . mysql_real_escape_string($data)
> .."', dttm=now() WHERE id =$id");}
>
> Se http://dk.php.net/manual/en/function.mysql-real-escape-string.php
> --
> Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
> Gartneriet - http://www.gartneriet.dk/


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Christian Budde Chri~ (03-09-2008)
Kommentar
Fra : Christian Budde Chri~


Dato : 03-09-08 07:11

Her er fejlmeddelelsen

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 '[b=42/]', dttm=now() WHERE id =1' at line 3, hvor $data
sluttede med [b=42] og derefter tegnet '


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Martin (03-09-2008)
Kommentar
Fra : Martin


Dato : 03-09-08 11:34

Christian Budde Christensen wrote:
> Hej
>
> Jeg har et problem med min mysql update, jeg er ved at lave en
> hjemmeside hvorfra jeg skal have uploadet noget date til min
> database, jeg bruger nedenstående funktion
>
> mysql_query("UPDATE sider SET cnt = '".$data."', dttm=now() WHERE
> id =$id");}


mysql_error() er din ven!

mysql_query('....') OR DIE (mysql_error());


>
> forinden har jeg åbnet min mysql forbindelse og min upload
> fungerer da også upklageligt, men så snart jeg prøver at uploade
> tenget ' så beklager den sig.
> Jeg har før fået det til at virke på tidligere hjemmesider, men
> nu vil det pludslig ikke.
> Glæder mig til at høre fra jer,
> Mange desparate hilsner Christian
>

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409081
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste