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