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());
3 svar · 233 visningar · startad av BeaR123
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?
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());
Vad blir din utskrift?
$frukt = "banan";
$sql = "DELETE FROM " . $dbtable . " WHERE used = " . $frukt . "";
echo $sql;
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?