Koden skall vara
$resultt = mysql_query("SELECT kommentarid,namn,datum,kommentar,id,privat FROM ********** WHERE kommentarid='{$_GET['id']}' AND privat='0' ORDER BY datum DESC");
Du försöker sätta private till 0 typ som update.
8 svar · 632 visningar · startad av Emil W
Hej
Jag har försökt att få att han ska bara visa dom kommentarer som har
0 i fältet privat.
Har försök göra så här
men funkar ej.
$resultt = mysql_query("SELECT kommentarid,namn,datum,kommentar,id,privat FROM ********** SET privat='0' WHERE kommentarid='{$_GET['id']}' ORDER BY datum DESC");
Jag får detta felmeddelande.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\visablogginlagg.php on line 92
Koden skall vara
$resultt = mysql_query("SELECT kommentarid,namn,datum,kommentar,id,privat FROM ********** WHERE kommentarid='{$_GET['id']}' AND privat='0' ORDER BY datum DESC");
Du försöker sätta private till 0 typ som update.
Prova med detta:
SET används bara vid UPDATE....
$resultt = mysql_query("
SELECT
kommentarid,
namn,
datum,
kommentar,
id,
privat
FROM **********
WHERE
kommentarid='{$_GET['id']}'
AND privat='0'
ORDER BY datum DESC");
Tack för hjälpen AndersN nu funkar allt perfekt :)
och sen på dom som har 1 vill jag skriva på sidan
så att det står så här på som inlägg som har värde 1
Denna kommentar är endast till för Emil Wiklund
Då får du ta bort:
AND privat='0'
från din sql fråga och göra en if-sats istället när du loopar ut.
if ($row['privat'] == 0)
{
echo 'Denna kommentar är endast till för Emil Wiklund';
}
else
{
echo $row['kommentar'];
}
Tack pedda, allt funkar nu perfekt :D
Jag bytte bara ut 0 till 1 istället
så blev det så som jag ville ha
Din kod är farlig Emil W. Du har tidigare blivit tipsad om hur man undviker sql-injections, men du verkar ha glömt det när du skrev den här SQL-satsen. Den farliga delen i din kod är när du hämtar in ett id direkt från din $_GET-variablel: kommentarid='{$_GET['id']}'
Om du kör med den koden som du har i dagsläget kommer till exempel vem som helst att kunna läsa vilka meddelande som helst, detta då man kan skicka in godtycklig sql via id-parametern i URL:en. Det går dock att göra mycket värre saker än att läsa andras meddelanden (hämta ut användares lösenord, läsa hemliga filer på hårddisken och liknande).
Följande länkar förklarar problemet och lösningen mer ingående:
Ja gjorde nu så här
$resultt = mysql_query("SELECT kommentarid,namn,datum,kommentar,id,privat FROM tabell kommentarid="'.mysql_real_escape_string($_GET['id']).'"');