/ 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
php og mysql
Fra : test


Dato : 24-09-08 12:39

Hej alle

Jeg har et lille problem som jeg ikke kan se mig ud af...

Følgende syntax virker ikke fra php:
$SQLSTR = "UPDATE xxxxxxx SET";
$SQLSTR .= " Status = '9'";
$SQLSTR .= " WHERE ID = '$ID' && Code = '$Code'";
echo "$SQLSTR";
$result = mysql_db_query($db, $SQLSTR, $connection);

Men hvis jeg så kopier den over i phpMyAdmin virker det fint:
UPDATE xxxxxxx SET Status = '9' WHERE ID = '24' && Code = '4478'

Jeg har mange andre sql forspørgelser, som alle virker fint.



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


Dato : 24-09-08 12:55

test skrev:
> Følgende syntax virker ikke fra php:
> $SQLSTR = "UPDATE xxxxxxx SET";
> $SQLSTR .= " Status = '9'";
> $SQLSTR .= " WHERE ID = '$ID' && Code = '$Code'";
> echo "$SQLSTR";
> $result = mysql_db_query($db, $SQLSTR, $connection);
>
> Men hvis jeg så kopier den over i phpMyAdmin virker det fint:
> UPDATE xxxxxxx SET Status = '9' WHERE ID = '24' && Code = '4478'
>
> Jeg har mange andre sql forspørgelser, som alle virker fint.

Hvad kommer der af fejl fra MySQL?

Det er heller ikke nemt at fejlsøge på en funktion du selv har lavet,
uden at angive hvordan den virker.


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

test (24-09-2008)
Kommentar
Fra : test


Dato : 24-09-08 13:20


"Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> wrote in message
news:48da2a83$0$15887$edfadb0f@dtext01.news.tele.dk...
> test skrev:
>> Følgende syntax virker ikke fra php:
>> $SQLSTR = "UPDATE xxxxxxx SET";
>> $SQLSTR .= " Status = '9'";
>> $SQLSTR .= " WHERE ID = '$ID' && Code = '$Code'";
>> echo "$SQLSTR";
>> $result = mysql_db_query($db, $SQLSTR, $connection);
>>
>> Men hvis jeg så kopier den over i phpMyAdmin virker det fint:
>> UPDATE xxxxxxx SET Status = '9' WHERE ID = '24' && Code = '4478'
>>
>> Jeg har mange andre sql forspørgelser, som alle virker fint.
>
> Hvad kommer der af fejl fra MySQL?

Ingen det bliver bare ikke rettet i tabellen.



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


Dato : 24-09-08 13:32

test skrev:
> "Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> wrote in message
> news:48da2a83$0$15887$edfadb0f@dtext01.news.tele.dk...
>> test skrev:
>>> Følgende syntax virker ikke fra php:
>>> $SQLSTR = "UPDATE xxxxxxx SET";
>>> $SQLSTR .= " Status = '9'";
>>> $SQLSTR .= " WHERE ID = '$ID' && Code = '$Code'";
>>> echo "$SQLSTR";
>>> $result = mysql_db_query($db, $SQLSTR, $connection);
>>>
>>> Men hvis jeg så kopier den over i phpMyAdmin virker det fint:
>>> UPDATE xxxxxxx SET Status = '9' WHERE ID = '24' && Code = '4478'
>>>
>>> Jeg har mange andre sql forspørgelser, som alle virker fint.
>> Hvad kommer der af fejl fra MySQL?
>
> Ingen det bliver bare ikke rettet i tabellen.
>
>

Prøv sådan her, så:

$SQLSTR = "UPDATE xxxxxxx SET Status = '9' WHERE ID='".$ID."' AND Code=
'".$code."'";
$result = mysql_db_query($db, $SQLSTR, $connection);

Umiddelbart vil jeg mene at fejlen ikke kommer fordi at WHERE
betingelsen ikke bliver opfyldt, men at SQL sætningen er korrekt.

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

test (24-09-2008)
Kommentar
Fra : test


Dato : 24-09-08 13:41


"Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> wrote in message
news:48da3334$0$15879$edfadb0f@dtext01.news.tele.dk...
> test skrev:
>> "Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> wrote in message
>> news:48da2a83$0$15887$edfadb0f@dtext01.news.tele.dk...
>>> test skrev:
>>>> Følgende syntax virker ikke fra php:
>>>> $SQLSTR = "UPDATE xxxxxxx SET";
>>>> $SQLSTR .= " Status = '9'";
>>>> $SQLSTR .= " WHERE ID = '$ID' && Code = '$Code'";
>>>> echo "$SQLSTR";
>>>> $result = mysql_db_query($db, $SQLSTR, $connection);
>>>>
>>>> Men hvis jeg så kopier den over i phpMyAdmin virker det fint:
>>>> UPDATE xxxxxxx SET Status = '9' WHERE ID = '24' && Code = '4478'
>>>>
>>>> Jeg har mange andre sql forspørgelser, som alle virker fint.
>>> Hvad kommer der af fejl fra MySQL?
>>
>> Ingen det bliver bare ikke rettet i tabellen.
>>
>>
>
> Prøv sådan her, så:
>
> $SQLSTR = "UPDATE xxxxxxx SET Status = '9' WHERE ID='".$ID."' AND Code=
> '".$code."'";
> $result = mysql_db_query($db, $SQLSTR, $connection);
>
> Umiddelbart vil jeg mene at fejlen ikke kommer fordi at WHERE betingelsen
> ikke bliver opfyldt, men at SQL sætningen er korrekt.
>
> --
> 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!

Ja men så skulle jeg jo ikke kunne kopier den over i phpMyAdmin og få det
til at virke der.



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


Dato : 24-09-08 13:47

test skrev:
> Ja men så skulle jeg jo ikke kunne kopier den over i phpMyAdmin og få det
> til at virke der.
>
>

Enig - men så må det være din mysql_db_query() der er fejl i.


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

test (24-09-2008)
Kommentar
Fra : test


Dato : 24-09-08 13:50

>
> Enig - men så må det være din mysql_db_query() der er fejl i.

Ja men det er den samme jeg bruger alle andre steder copy/paste.

og jeg includer en php fil hvor jeg har de nødvendige variable til mysql,
som også er den samme jeg bruger andre steder.



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


Dato : 24-09-08 14:00

test skrev:
>> Enig - men så må det være din mysql_db_query() der er fejl i.
>
> Ja men det er den samme jeg bruger alle andre steder copy/paste.
>
> og jeg includer en php fil hvor jeg har de nødvendige variable til mysql,
> som også er den samme jeg bruger andre steder.
>
>

prøv at køre din sql streng igennem en almindelig mysql_query og se om
den virker.

mysql_connect("localhost", "username", "password");
mysql_select_db("database");

$SQLSTR = "UPDATE xxxxxxx SET Status = '9' WHERE ID='".$ID."' AND Code=
'".$code."'";
mysql_query($SQLSTR);


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

test (24-09-2008)
Kommentar
Fra : test


Dato : 24-09-08 14:06

> prøv at køre din sql streng igennem en almindelig mysql_query og se om den
> virker.
>
> mysql_connect("localhost", "username", "password");
> mysql_select_db("database");
>
> $SQLSTR = "UPDATE xxxxxxx SET Status = '9' WHERE ID='".$ID."' AND Code=
> '".$code."'";
> mysql_query($SQLSTR);
>
>
Virker heller ikke, syntes det er meger underligt.



test (24-09-2008)
Kommentar
Fra : test


Dato : 24-09-08 14:11


"test" <test@test.dk> wrote in message
news:gbdduh$20hm$1@newsbin.cybercity.dk...
>> prøv at køre din sql streng igennem en almindelig mysql_query og se om
>> den virker.
>>
>> mysql_connect("localhost", "username", "password");
>> mysql_select_db("database");
>>
>> $SQLSTR = "UPDATE xxxxxxx SET Status = '9' WHERE ID='".$ID."' AND Code=
>> '".$code."'";
>> mysql_query($SQLSTR);
>>
>>
> Virker heller ikke, syntes det er meger underligt.

Har rettet fejlen med $code til $Code også unde held....



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


Dato : 24-09-08 14:19

test skrev:
>> Virker heller ikke, syntes det er meger underligt.
>
> Har rettet fejlen med $code til $Code også unde held....

Så har jeg vist nået min begrænsning her; umiddelbart forstår jeg ikke
hvorfor det virker når du paster sætningen ind i phpMyAdmin, men ikke
hvis du kører den igennem mysql_query()

Jeg kan ikke forsøge at løse problemet uden at få direkte adgang, så du
må håbe der er nogle andre her, der får nogle idéer.

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

test (24-09-2008)
Kommentar
Fra : test


Dato : 24-09-08 14:26

Så fandt jeg løsningen.

Code var af type varchar(4)

Code er rettet til int.

og så virker det.

Må man ikke bruge = når det er en string? (syntes jeg før jeg har brugt....)
Skal man bruge LIKE?
Hvorfor virker det i phpMyadmin ??



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


Dato : 24-09-08 14:45

test skrev:
> Så fandt jeg løsningen.
>
> Code var af type varchar(4)
>
> Code er rettet til int.
>
> og så virker det.
>
> Må man ikke bruge = når det er en string? (syntes jeg før jeg har brugt....)
> Skal man bruge LIKE?
> Hvorfor virker det i phpMyadmin ??

Umiddelbart lyder det også som om du har misforstået noget.
Du kan sagtens bruge "field='string'" på varchars.
Hvorfor det lige har virket når du har rettet det til en anden type,
forstår jeg så ikke.

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

test (24-09-2008)
Kommentar
Fra : test


Dato : 24-09-08 14:21

Jeg har nu prøvet at fjerne Code betingelsen så der står:

UPDATE MHV_News_Email SET Status = '9' WHERE ID = '25'

og det virker fint, men hvis jeg sætter Code betingelsen på igen virker det
ikke.

UPDATE MHV_News_Email SET Status = '9' WHERE ID = '25' AND Code = '2203'

Selvom det virker i phpMyAdmin!

Og Code er rigtigt og har den rigtige værdi.



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


Dato : 24-09-08 14:32

test skrev:
> Jeg har nu prøvet at fjerne Code betingelsen så der står:
>
> UPDATE MHV_News_Email SET Status = '9' WHERE ID = '25'
>
> og det virker fint, men hvis jeg sætter Code betingelsen på igen virker det
> ikke.
>
> UPDATE MHV_News_Email SET Status = '9' WHERE ID = '25' AND Code = '2203'
>
> Selvom det virker i phpMyAdmin!
>
> Og Code er rigtigt og har den rigtige værdi.
>
>
Prøv at kalde den noget andet en Code - det kan tænkes at være et
beskyttet ord..

test (24-09-2008)
Kommentar
Fra : test


Dato : 24-09-08 14:29

> Prøv at kalde den noget andet en Code - det kan tænkes at være et
> beskyttet ord..

God ide men problemet er løst



Leif Neland (24-09-2008)
Kommentar
Fra : Leif Neland


Dato : 24-09-08 19:10

test skrev:
>> Prøv at kalde den noget andet en Code - det kan tænkes at være et
>> beskyttet ord..
>
> God ide men problemet er løst
>
Hvad var der løsningen?

Leif

Peter Lykkegaard (26-09-2008)
Kommentar
Fra : Peter Lykkegaard


Dato : 26-09-08 16:05

"Leif Neland" skrev

> Hvad var der løsningen?
>
Den står andet sted i tråden som svar til Dan Storm

- Peter


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


Dato : 24-09-08 13:29

test skrev:
> Hej alle
>
> Jeg har et lille problem som jeg ikke kan se mig ud af...
>
> Følgende syntax virker ikke fra php:
> $SQLSTR = "UPDATE xxxxxxx SET";
> $SQLSTR .= " Status = '9'";
> $SQLSTR .= " WHERE ID = '$ID' && Code = '$Code'";
> echo "$SQLSTR";
> $result = mysql_db_query($db, $SQLSTR, $connection);
>
> Men hvis jeg så kopier den over i phpMyAdmin virker det fint:
> UPDATE xxxxxxx SET Status = '9' WHERE ID = '24' && Code = '4478'
>
> Jeg har mange andre sql forspørgelser, som alle virker fint.
>
>
mangler der ikke nogle fnytter??


$SQLSTR = "UPDATE xxxxxxx SET
    Status = '9'
    WHERE ID = '".$ID."'
AND Code = '".$Code."'";

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


Dato : 24-09-08 13:32

Gert Krabsen skrev:
> mangler der ikke nogle fnytter??

Af ren og skær nysgerrighed; hvad er fnytter?


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

Rander (24-09-2008)
Kommentar
Fra : Rander


Dato : 24-09-08 13:38

Dan Storm skrev noget i denne stil, den 24-09-2008 14:32:
>> mangler der ikke nogle fnytter??
> Af ren og skær nysgerrighed; hvad er fnytter?

Kært barn har mange navne - i min verden hedder de gnyffer.

Men det er bare en ' - altså en "en-øjet gås"...

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://bamsepetting.dk

Når klokken er 12, vender alle sig mod Mekka og
bider i kvasterne på tæppet. (Raymond, 7 år)

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


Dato : 24-09-08 13:50

Rander skrev:
> Men det er bare en ' - altså en "en-øjet gås"...

Aha... Ja, i min verden hedder det et apostrof eller single quote... men
sådan er vi jo så forskellige...


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

Stig Johansen (24-09-2008)
Kommentar
Fra : Stig Johansen


Dato : 24-09-08 14:25

Dan Storm wrote:

> Rander skrev:
>> Men det er bare en ' - altså en "en-øjet gås"...
>
> Aha... Ja, i min verden hedder det et apostrof eller single quote... men
> sådan er vi jo så forskellige...

Det har da altid heddet pling'er :)

--
Med venlig hilsen
Stig Johansen

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


Dato : 24-09-08 14:41

Stig Johansen skrev:
> Det har da altid heddet pling'er :)

Spurgte lige rundt på kontoret - her kalder de dem så pinger - altså
uden l...

Så giver situationer jeg mindes pludselig mening...

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

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