29. december 2005 - 20:03Der er
24 kommentarer og 1 løsning
php/database - while sætning
Jeg har problemer med at få hentet noget ud af min databse, den vil ikke acceptere min while sætning, kan nogen mon hjælpe?
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/virtual/eksplicit.dk/public_html/dkdating 2/soeg_resultat.php on line 39
Her er noget af koden det drejer sig om, linie 39 er while sætningen: -------------------------------------------------------------- $sql = "select * from users WHERE aktiv = 'ja' AND sex like '%" & $sex & "%' AND kropsbygning LIKE '%" & $kb & "%' AND haircolor LIKE '%" & $haircolor & "%' AND nationalitet LIKE '%" & $nationalitet & "%' AND civilstand LIKE '%" & $civilstand & "%' AND handicap1 LIKE '%" & $handicap & "%' AND kids LIKE '%" & $kids & "%' AND rygning LIKE '%" & $rygning & "%' AND areacode LIKE '%" & $area & "%')";
$sql = "select * from users WHERE aktiv = ja AND sex like '%' & $sex & '%' AND kropsbygning LIKE '%' & $kb & '%' AND haircolor LIKE '%' & $haircolor & '%' AND nationalitet LIKE '%' & $nationalitet & '%' AND civilstand LIKE '%' & $civilstand & '%' AND handicap1 LIKE '%' & $handicap & '%' AND kids LIKE '%' & $kids & '%' AND rygning LIKE '%' & $rygning & '%' AND areacode LIKE '%' & $area & '%'";
Jeg skal måske lige sige at man kommer fra en side hvor man udfylder nogle søgekriterier, og så kommer til denne side, hvor den så udskriver selve søgningen.
Er det måske noget med at det skal være $_POST[sex] istedet for $_sex, når det kommer fra en formel?
Må jeg foreslå, at du skynder dig at ændre password & brugernavn til din database, og så lader være med at paste det her igen?
En anden god lille finte er at skrive:
$query = mysql_query($sql,$mydb) or die(mysql_error().$query);
Når du laver en kompliceret query. Så får du en mere meningsfyldt fejlmeddelelse. Det ser ud til, at du mangler et par '' uden om "aktiv = 'ja'" lige i starten, men der er muligvis flere fejl.
Jeg har rettet & med . nu og skrevet den nye query sætning istedet og for ny følgene fejl: (jeg prøver dog lige at rette til POST)
Profiler: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '. m . '%' AND kropsbygning LIKE '%' . . '%' AND haircolor LIKEselect * from users WHERE aktiv = ja AND sex like '%' . m . '%' AND kropsbygning LIKE '%' . . '%' AND haircolor LIKE '%' . . '%' AND nationalitet LIKE '%' . . '%' AND civilstand LIKE '%' . . '%' AND handicap1 LIKE '%' . . '%' AND kids LIKE '%' . . '%' AND rygning LIKE '%' . . '%' AND areacode LIKE '%' . . '%'
$sql = "select * from users WHERE aktiv = ja AND sex like '%' . $_POST['sex'] . '%' AND kropsbygning LIKE '%' . $_POST['kb'] . '%' AND haircolor LIKE '%' . $_POST['haircolor'] . '%' AND nationalitet LIKE '%' . $_POST['nationalitet'] . '%' AND civilstand LIKE '%' . $_POST['civilstand'] . '%' AND handicap1 LIKE '%' . $_POST['handicap'] . '%' AND kids LIKE '%' . $_POST['kids'] . '%' AND rygning LIKE '%' . $_POST['rygning'] . '%' AND areacode LIKE '%' . $_POST['area'] . '%'";
Jeg for nu denne fejl:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/virtual/eksplicit.dk/public_html/dkdating 2/soeg_resultat.php on line 35
Jeg har nu fjernet alt med "like" i sætningen, da det egentlig godt kan undværes.
Der bliver dog stadig meldt fejl som i kommentaren ovenover(3 kommentarer over)
Kan nogen se problemet?
$sql = "select * from users WHERE aktiv = ja AND sex = $_POST['sex'] AND kropsbygning = $_POST['kb'] AND haircolor = $_POST['haircolor'] AND nationalitet = $_POST['nationalitet'] AND civilstand = $_POST['civilstand'] AND handicap1 = $_POST['handicap'] AND kids = $_POST['kids'] AND rygning = $_POST['rygning'] AND areacode = $_POST['area']";
Synes godt om
Slettet bruger
30. december 2005 - 05:34#16
du skal have ' om strenge:
"select * from users WHERE aktiv='ja' AND sex?'". $_POST['sex'] ."' AND ....
Synes godt om
Slettet bruger
30. december 2005 - 05:36#17
$sql = "SELECT * from users WHERE aktiv ='ja' AND sex ='". $_POST['sex'] ."' AND kropsbygning ='". $_POST['kb'] ."' AND haircolor ='". $_POST['haircolor']."' AND nationalitet ='". $_POST['nationalitet'] ."' AND civilstand ='". $_POST['civilstand'] ."' AND handicap1 ='". $_POST['handicap'] ."' AND kids = '". $_POST['kids'] ."' AND rygning = '". $_POST['rygning'] ."' AND areacode ='". $_POST['area'] ."'";
Synes godt om
Slettet bruger
30. december 2005 - 05:40#18
Her bør den være:
SELECT * FROM users WHERE aktiv = 'ja' AND sex LIKE '%". $_POST['foo'] ."%' AND kropsbygning LIKE '%". $_POST['foo'] ."%' AND haircolor LIKE '%". $_POST['foo'] ."%' AND nationalitet LIKE '%". $_POST['foo'] ."%' AND civilstand LIKE '%". $_POST['foo'] ."%' AND handicap1 LIKE '%". $_POST['foo'] ."%' AND kids LIKE '%". $_POST['foo'] ."%' AND rygning LIKE '%". $_POST['foo'] ."%' AND areacode LIKE '%". $_POST['foo'] ."%'
29/12-2005 23:59:23 $sql = "select * from users WHERE aktiv = ja AND sex like '%' . $_POST['sex'] . '%' AND kropsbygning LIKE '%' . $_POST['kb'] . '%' AND haircolor LIKE '%' . $_POST['haircolor'] . '%' AND nationalitet LIKE '%' . $_POST['nationalitet'] . '%' AND civilstand LIKE '%' . $_POST['civilstand'] . '%' AND handicap1 LIKE '%' . $_POST['handicap'] . '%' AND kids LIKE '%' . $_POST['kids'] . '%' AND rygning LIKE '%' . $_POST['rygning'] . '%' AND areacode LIKE '%' . $_POST['area'] . '%'";
Hovsa - det jeg ville sige var, at det ikke er den oprindelige i dit spørgsmål. Du får fejl pga strofferne. Hvis du selv vil lege er det fint med mig - men hvis du gør som jeg foreslår kan jeg hjælpe dig ;)
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.