WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   WHERE i två kolummer? (https://www.wn.se/forum/showthread.php?t=37333)

youheardit 2009-06-09 22:07

Hej gott folk!
Har en simpel fråga (tror jag)

Vad ska jag skriva för att koderna ska välja från två kolummer i databasen?

exempel:

Här är en sida som har id tex id 1 ( ----.php?id=1 ):

Kod:

$pid = $_GET['id'];
$result = mysql_query("SELECT * FROM `clicked` WHERE `id`='".$pid."', `user` = '".$_SESSION['username']."'");
 *while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
 *
 *
 *if($line['clicked'] != 0){
 *echo "Du har redan varit här idag!";
 *die(); }
 *
 *}

jag vill att den bara ska visa felmeddelandet om användaren ($_SESSION['username']) har klickat på sidan med id: ($pid, i detta fall "1") tidigare!

har testat med "," emellan: mysql_query("SELECT * FROM `clicked` WHERE `id`='".$pid."', `user` = '".$_SESSION['myusername']."'");

och med AND: mysql_query("SELECT * FROM `clicked` WHERE `id`='".$pid."'AND `user` = '".$_SESSION['myusername']."'");



tacksam för svar!
Ha det bra!

allstars 2009-06-09 22:20

att använda AND i WHEREsats är korrekt, men får du något svar?
Du kan också begränsa vilka fält som skall hämtas, du verkar bara behöva ett fält, inte alla.

Sedan är det förresten bra att veta hur du lägger in raderna som du skall kolla efter.

mysputte 2009-06-09 23:02

Citat:

mysql_query("SELECT * FROM `clicked` WHERE `id`='".$pid."'AND `user` = '".$_SESSION['myusername']."'");
Det saknas ett mellanslag i din databasfråga. Och eftersom id troligen är en int så behöver du inga fnuttar runt $pid

mysql_query("SELECT * FROM `clicked` WHERE `id` = ".$pid." AND `user` = '".$_SESSION['myusername']."'");

hnn 2009-06-09 23:23

Funderat på att skydda dig ifrån SQL Injections?

youheardit 2009-06-10 08:07

Citat:

Funderat på att skydda dig ifrån SQL Injections?
Ja, hurså? <_<

Citat:


mysql_query("SELECT * FROM `clicked` WHERE `id`='".$pid."'AND `user` = '".$_SESSION['myusername']."'");


Det saknas ett mellanslag i din databasfråga. Och eftersom id troligen är en int så behöver du inga fnuttar runt $pid

Citat:

mysql_query("SELECT * FROM `clicked` WHERE `id` = ".$pid." AND `user` = '".$_SESSION['myusername']."'");
Tack detta funkade! :) inga mer problem (tror jag) :D

Ha det bra!¨
//Philip Andersson

Jonas 2009-06-10 08:47

Runt alla:

INT använd intval()
FLOAT använd floatval()
BLOB & TEXT använd mysql_real_escape_string() (skapa en alias funktion tex. secure() )


Alla tider är GMT +2. Klockan är nu 11:53.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson