|
| Query dur i phpmyadmin, men ikke fra php..~ Fra : Nygaard |
Dato : 04-11-05 20:05 |
|
Hi,
Jeg har følgende:
$SQL='DELETE FROM GroupBase WHERE ID='.$_GET['itemid'].'; DELETE FROM
GroupLanguage WHERE GroupID='.$_GET['itemid'].';';
$qry = mysql_query($SQL);
- og der sker ingenting med databasen (Der er forbindelse, for sletter jeg
2. halvdel af queryen virker det)...
Echo'er jeg $SQL får jeg:
DELETE FROM GroupBase WHERE ID=9; DELETE FROM GroupLanguage WHERE
GroupID=9;
- og indsætter jeg den streng direkte i phpmyadmin, fungerer den efter
hensigten...
Nogen der kan se hvad der er galt?
Mvh
Nygaard
(P.S. Udbyderen har besluttet sig for at jeg ikke skal have lov til at se
fejlbeskeder, så jeg ved ikke hvilken fejl mysql _query returnerer....)
| |
Mike (05-11-2005)
| Kommentar Fra : Mike |
Dato : 05-11-05 11:50 |
|
$SQL='DELETE FROM GroupBase WHERE ID='.$_GET['itemid'].';
$SQL2 = "DELETE FROM GroupLanguage WHERE GroupID='.$_GET['itemid'].'";
$qry = mysql_query($SQL);
$qry2 = mysql_query($SQL2);
Kan det ikke gøres således?
--
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
| |
Peter Brodersen (05-11-2005)
| Kommentar Fra : Peter Brodersen |
Dato : 05-11-05 14:33 |
|
On Fri, 4 Nov 2005 20:04:49 +0100, "Nygaard" <nejtaktil@spam.dk>
wrote:
>Jeg har følgende:
> $SQL='DELETE FROM GroupBase WHERE ID='.$_GET['itemid'].'; DELETE FROM
>GroupLanguage WHERE GroupID='.$_GET['itemid'].';';
> $qry = mysql_query($SQL);
>
>- og der sker ingenting med databasen (Der er forbindelse, for sletter jeg
>2. halvdel af queryen virker det)...
Med mysql_query må du kun sende én forespørgsel. Du sender to stykker.
Semikolon er blot et afsluttende tegn for nogle klienter (fx
mysql-kommandolinjeprogrammet). Det er ikke noget, serveren håndterer.
Så med din nuværende mysql-forespørgsel ser serveren blot én lang
kommando, der indeholder et semikolon undervejs.
>Echo'er jeg $SQL får jeg:
> DELETE FROM GroupBase WHERE ID=9; DELETE FROM GroupLanguage WHERE
>GroupID=9;
>- og indsætter jeg den streng direkte i phpmyadmin, fungerer den efter
>hensigten...
phpmyadmin og andre klienter vælger at splitte ved semikolon og giver
på den måde mulighed for at sende flere forespørgsler af sted. Men det
er stadigvæk klienterne selv, der sørger for at bryde strengen op i
evt. flere forespørgsler.
>Nogen der kan se hvad der er galt?
>(P.S. Udbyderen har besluttet sig for at jeg ikke skal have lov til at se
>fejlbeskeder, så jeg ved ikke hvilken fejl mysql _query returnerer....)
mysql_query() giver nu ikke en PHP-fejl, hvis du sender en ugyldig
forespørgsel. Det er dit eget ansvar at tjekke returværdien for
mysql_query. Hvis $qry ikke indeholder en ressource, kan du fx
afvikle:
print mysql_error();
... for at se fejlmeddelelsen. Det behøver ikke at have noget med din
udbyder at gøre.
--
- Peter Brodersen
| |
Nygaard (05-11-2005)
| Kommentar Fra : Nygaard |
Dato : 05-11-05 15:03 |
|
"Peter Brodersen" <usenet2005@ter.dk> wrote in message
news:dkicb4$ijv$1@news.klen.dk...
> On Fri, 4 Nov 2005 20:04:49 +0100, "Nygaard" <nejtaktil@spam.dk>
> wrote:
>
> >Jeg har følgende:
> > $SQL='DELETE FROM GroupBase WHERE ID='.$_GET['itemid'].'; DELETE FROM
> >GroupLanguage WHERE GroupID='.$_GET['itemid'].';';
> > $qry = mysql_query($SQL);
> >
> >- og der sker ingenting med databasen (Der er forbindelse, for sletter
jeg
> >2. halvdel af queryen virker det)...
>
> Med mysql_query må du kun sende én forespørgsel. Du sender to stykker.
>
> Semikolon er blot et afsluttende tegn for nogle klienter (fx
> mysql-kommandolinjeprogrammet). Det er ikke noget, serveren håndterer.
> Så med din nuværende mysql-forespørgsel ser serveren blot én lang
> kommando, der indeholder et semikolon undervejs.
>
> >Echo'er jeg $SQL får jeg:
> > DELETE FROM GroupBase WHERE ID=9; DELETE FROM GroupLanguage WHERE
> >GroupID=9;
> >- og indsætter jeg den streng direkte i phpmyadmin, fungerer den efter
> >hensigten...
>
> phpmyadmin og andre klienter vælger at splitte ved semikolon og giver
> på den måde mulighed for at sende flere forespørgsler af sted. Men det
> er stadigvæk klienterne selv, der sørger for at bryde strengen op i
> evt. flere forespørgsler.
>
> >Nogen der kan se hvad der er galt?
>
> >(P.S. Udbyderen har besluttet sig for at jeg ikke skal have lov til at se
> >fejlbeskeder, så jeg ved ikke hvilken fejl mysql _query returnerer....)
>
> mysql_query() giver nu ikke en PHP-fejl, hvis du sender en ugyldig
> forespørgsel. Det er dit eget ansvar at tjekke returværdien for
> mysql_query. Hvis $qry ikke indeholder en ressource, kan du fx
> afvikle:
> print mysql_error();
> .. for at se fejlmeddelelsen. Det behøver ikke at have noget med din
> udbyder at gøre.
>
> --
> - Peter Brodersen
Så lærte jeg også noget i dag - Takker..
/Nygaard
| |
|
|