webForumDet fria alternativet

Felkod Query was empty, vad gör jag för fel?

Databaser & SQL

6 svar · 1 178 visningar · startad av annaco

Medlem sedan apr. 200772 inlägg
Frågan#1

Jag gör ett program där jag ska kunna läsa in data till databasen från en hemsida.

<td align="left"><?php print "$svenskt_namn"; ?></td>
<td align="left"><?php print "$latinskt_namn"; ?></td>

$_SESSION=mysql_query("insert into blomma(svenskt_namn,latinskt_namn,) values('$svenskt_namnl',$latinskt_namn)");

får fel kod Query was empty

Kan inte hitta vad jag gör för fel?

Någon som vet?

Tacksam för hjälp!!
Anna

Medlem sedan juni 20014 290 inlägg
#2

Du har ett , förmycket efter latinskt_namn.

$_SESSION=mysql_query("insert into blomma(svenskt_namn,latinskt_namn) values('$svenskt_namnl',$latinskt_namn)");

Sedan varför sätter du $_SESSION variabeln resultatet av mysql_query()?

  1. Dumt eftersom resultatet endast är giltligt för denna körningen inte sessionen.
  2. Du förstör det som finns i $_SESSION variabeln.
Medlem sedan sep. 20051 758 inlägg
#3

values('$svenskt_namnl',$latinskt_namn)?

Ska väl vara $svenskt_namn (slutar på ett l extra)?

Det ordet är dessutom inom ' ' vilket inte $latinskt_namn är.

Medlem sedan apr. 200772 inlägg
#4

Jag har nu tagit bort , och tagit kort ett l som är för mycket och satt dit 2 st ' som saknas men det fungerar ändå inte.
Fortfarande samma felkod.

Jag har fått förklarat för mig att jag ska använda $_SESSION därför använder jag det, men det är kanske ingen bra idé.

Men jag förstår fortfarande inte varför det inte fungerar.

Medlem sedan dec. 20014 239 inlägg
#5

I din sql sats har du insert, vilket innebär att du vill lägga till i databasen
Om du vill hämta ut från databasen ska du använda dig av select.

Ex:

select svenskt_namn,latinskt_namn from tabellenblommor
Medlem sedan juni 20014 290 inlägg
#6

Om du precis innan raden med mysql_query skriver in följande:

echo "insert into blomma(svenskt_namn,latinskt_namn) values('$svenskt_namnl','$latinskt_namn')"

och precis efter skriver in:

echo mysql_error();

Vad skriver resp. rad ut.

Gör en copy&paste exakt vad som skrivs från dom två raderna ut här i tråden

Medlem sedan mars 20034 471 inlägg
#7

Vad vill du åstadkomma annaco? Vill du hämta uppgifterna från databasen och visa dem i sidan? Eller vill du hämta nya uppgifter från ett formulär i sidan och lagra dem i databasen? Din exempelkod verkar göra ett hopkok av detta.

Om du vill hämta uppgifterna från webben och lagra dem i databasen behöver du ett formulär där uppgifterna kan skrivas in. Du bestämmer om du vill skicka formuläret via metoden GET eller POST och beroende på vad du valde hittar du de inskrivna värdena i en av arrayerna $_GET eller $_POST. Att blanda in $_SESSION i det här sammanhanget verkar konstigt?

Oavsett metod i formuläret så ska du använda arrayen för att hämta ut det värde som skrevs in i formuläret till din INSERT-sats till databasen. (Inte skriva över den som du gör nu.) En INSERT har dessutom inget resultatset som ska hanteras, dess uppgift är ju avslutad när databasens innehåll blev en rad längre. Det finns alltså inget att tilldela i samband med en INSERT.

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)