webForumDet fria alternativet

php scriptet ska ta bort ett värde i mysql db

3 svar · 231 visningar · startad av BeaR123

BeaR123Medlem sedan aug. 200190 inlägg
#1

Antingen är jag otroligt dum i huvudet eller så har jag hittat ett fel som inte går att lösa. Jag ser inga andra alternativ.

Mitt phpscript ska ta bort en post från databasen.

Med följande kommando:

$frukt = "banan";

$sql = mysql_query("DELETE FROM $dbtable WHERE used = $frukt");

Har även försökt where used = 'banan' utan resultat också.
mysql_error($conn) ger inget resultat. Allt ligger i en if-sats, det är inget fel på den. Byter ja ut den här raden mot en INSERT INTO istället så fungerar det 100% men den vägrar att ta bort posten.

Har varit inne via phpmyadmin och testat ta bort manuellt, och de har ja rättigheter till.

Vad kan vara fel?

DufferMedlem sedan mars 2003429 inlägg
#2

varför kör du den itne bara direkt utan stoppar in den i en variabel, prova med:

mysql_query("DELETE FROM $dbtable WHERE used = '$frukt'") or exit(mysql_error());

K@llenMedlem sedan mars 20032 667 inlägg
#3

Vad blir din utskrift?

$frukt = "banan";
$sql = "DELETE FROM " . $dbtable . " WHERE used = " . $frukt . "";
echo $sql;
aasahMedlem sedan mars 20034 471 inlägg
#4

Re: php scriptet ska ta bort ett värde i mysql db

Uppenbarligen är used någon form av textsträng (VARCHAR, CHAR, TEXT...) och då måste du låta SQL förstå att bananen också är en text. Lägg ' runt din $frukt enl nedan. Annars borde du få typfel. Detta funkar om "frågan" är rätt:

$frukt = "banan";
$sql = mysql_query("DELETE FROM $dbtable WHERE used = '$frukt'");

Om det inte funkar skriv i stället: (Dvs kolla att det ser rätt ut.)

$frukt = "banan";
echo "DELETE FROM $dbtable WHERE used = '$frukt'";

$dbtable kanske inte innehåller det du tror?

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)