25. juli 2009 - 22:11Der er
4 kommentarer og 1 løsning
Reagerer ikke på min if sætning?
Har noget kode og derefter lavet en if sætning som tjekker om ip'en allerede findes i databasen. Men der er bare det problem, at den ikke registrere if sætningen. Men indsætter noget i databasen, selvom ip'en findes..
Her er det stykke kode som jeg bruger til min if sætning.
$hent_car = mysql_query("SELECT * FROM shorturls_browser WHERE ip = '.$ip.'"); $count_car = mysql_num_rows($hent_car); if ($count_car == '0')
prøv evt. at bruge mysql_error(); og se om du har udfyldt noget forkert der, ellers kunne du ændre din if lidt.
$hent_car = mysql_query("SELECT * FROM shorturls_browser WHERE ip = '.$ip.'")or die(mysql_error()); $count_car = mysql_num_rows($hent_car); if (!$count_car){ // indsæt i db } else { // er i db }
Den nemmeste måde at komme udover det er at sætte feltet 'ip' i din tabel til at være unik og så ignorere den fejl mysql kommer med når linien er forsøgt sat ind. På den måde sparer du også kode og lader mysql klare 'bøvlet' for dig.
Udover det er ikke tilrådeligt at kontrollere om en int er det samme som en streng.
Og i stedet for at hente al info, vil det være bedre at bruge COUNT(*)
Og ellers som repox skriver, lad feltet med ip være UNIQUE Så findes der kun et row med den ip. Afhænger selvf. af hvad det er du ønsker at bruge det til.
Er feltet UNIQUE kan du evt. også bruge REPLACE hvis der under alle omstændigheder skal være et row med ip'en.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.