• Forum
      /  
    Programmering og webdesign
      /  
    Programmering
  • 22-11-2012 · 11:29 5931 visninger 35 svar
  • Denne tråd er over 6 måneder gammel

    Er du sikker på, at du har noget relevant at tilføje?

  • mysql_result() expects parameter 1 to be resource

    Af bertleren Monsterbruger
hej jeg får denne fejl meddelse

Warning: mysql_result() expects parameter 1 to be resource, boolean given in/var/www/side.dk/public_html/beta/functions.php on line 32

min kode ser sådan her ud

http://pastebin.com/FrceH0Ye...


hvad skal jeg gøre for at det virker???

hvis i skal bruge mere info om problemet så bare skriv det... så skal jeg nok uploade det

Junior Supporter
22-11-2012 11:34
Dit link virker ikke.

Vi skal også se hvordan din database ser ud
Monsterbruger
22-11-2012 11:35
undskyld her er det

http://pastebin.com/FrceH0Ye
Elite Nørd
22-11-2012 11:40
Hvor er linje 32? Hvordan er dit skema opbygget? Hvilken værdi har det SESSIONID du smider med?
Megabruger
22-11-2012 11:40
Dit kald til mysql_query fejler, se http://dk.php.net/mysql_query

"For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error."

Har du prøvet din query direkte i databasen (phpmyadmin?) for at se om det virker?
Stefan

#5

Gæst
22-11-2012 11:43
Nej, vi skal ikke se hvordan din DB ser ud..

Fejlen betyder, at den parameter du medsender er ikke korrekt. Dette skyldes at din query ikke blev udført korrekt.

Så vi skal se på denne linje:

$premium_query = mysql_query("SELECT 'aktiv' FROM 'brugere' WHERE 'id'='".$SESSION['id'].&-
#034;'");

En god idé her, ville være at udskrive den:

echo "SELECT 'aktiv' FROM 'brugere' WHERE 'id'='".$SESSION['id'].&-
#034;'";

men jeg kan dog afsløre at din $SESSION nok skulle være $_SESSION
Monsterbruger
22-11-2012 11:55
hmmm syntes stadig ikke jeg kan se hvad der skulle være galt...
Stefan

#7

Gæst
22-11-2012 12:46
Hurtig checkliste
- Ret $SESSION til $_SESSION
- Kør session_start(); som det første på din side
- sessionen er sat
- check at ID findes i tabellen
- udskriv query'en for fejlsøgning
- Spørg på et andet forum...
Junior Supporter
22-11-2012 13:27
Du vil kunne afhjælpe lidt problemer hvis du selv holder styr på din connection : http://pastebin.com/c6gsfAC6

Samtidig skal du fikse de $SESSION fejl de andre påpeger.

...og du bør overvejer at skifte til mysqli da den metode du bruger er for gammel. http://dk1.php.net/manual/en/book.m...
Monsterbruger
23-11-2012 15:57
hej nu har jeg gjordt alt det (undtagen at ændre det til MySQLI)ikke så meget ud af det... jeg har min function som ser sådan har ud:::


http://pastebin.com/C19DvwUH


så har jeg prøvet at teste den inde på min side... og det ser sådan her ud

aktiv'; }


og så får jeg en error der ser sådan her ud...

Warning: mysql_result() expects parameter 1 to be resource, boolean given in /var/www/nodebook.dk/public_html/beta/dbase/connect.php on line 30



her er hele mit connect script:

http://pastebin.com/RPjxauhL
Monsterbruger
23-11-2012 16:18
der var en fejl men ::aktiv'; } :: ser sådan her ud:::

http://pastebin.com/79nJAp35
Elitebruger
23-11-2012 16:21
Nu står der en linje med PDO øverst kan jeg se - er der en grund til at du ikke bare benytter det? PDO med prepared statements er rimelig awesome. Og så slipper du også for de der dumme mysql_ fejl. mysql_ extension er deprecated og er derfor ved at blive faset ud.
TommyB

#12

Junior Supporter
23-11-2012 16:25
Min pointe var at du laver din connection udenfor scopet af din funktion, så derfor bør du sikre dig at din connection er GLOBAL..

Det er selvfølgelig et gæt, når vi ikke kan se resten af din kode, og hvordan den connection bliver kaldt.
Monsterbruger
23-11-2012 16:31
tommy bare scriv hvor meget du vil se så poster jeg det
TommyB

#14

Junior Supporter
23-11-2012 20:49
Well, det er jo svært at vide hvor meget der er relavant, men nok til at jeg kan genskabe samme scenarie på min pc vel.
TommyB

#15

Junior Supporter
23-11-2012 21:18
TommyB

#16

Junior Supporter
23-11-2012 21:21
Der er flere ting rettet.

Din connection kan ikke nødvendigvis ses i scopet af en funktions-kald.

Din sql indeholdte enkelt anførsels-tegn, det kan ikke bruges som felt-angiver, det bliver til strenge, så din query vil aldrig returnere andet end fejl.

Istedet for at kalde SESSION inde i funktionen lavede jeg den om til at tage et bruger-id som argument, så kan du bruge funktionen flere steder også.


.... når det er sagt.. så er det en rigtig dårlig måde at gøre det på, eller, bare sørg for at tjekke variablen du kaster til funktionen så du ikke får sql-injections... og skift til mysqli, du kan komme ud for at understøttelsen forsvinder ved forskellige hosts når de opgradere.. PDO er ikke nødvendigt, kunne kunne være praktisk.
Erik_A

#17

Ultra Supporter
23-11-2012 21:54
Pling'erne om din $bruger_id er ikke ens?
Ser ikke sådan ud...
TommyB

#18

Junior Supporter
23-11-2012 21:59
...joe... det ser rigtigt ud... og har testet det :) edit : Plinger ? er det anførselstegn ?
inckie

#19

Super Nørd
23-11-2012 21:59
Husk at tjek om din query er kørt ordenligt, ellers burde du stoppe kørslen af scriptet:

[CODE]$premium_query = mysql_query("SELECT aktiv FROM brugere WHERE
if (!$premium) {
die('Database fejl:' . mysql_error());
}[/CODE]
TommyB

#20

Junior Supporter
23-11-2012 22:03
Alle tests rundt omkring må han selv indsætte, nu skulle vi ha det til at virke i første omgang :)
Monsterbruger
23-11-2012 22:06
wow tak allesammen det er fantastisk... jeg vil kigge på det imorgen og lige give en message... mange mange tak... jeg tror jeg har siddet i to dage med det her problem :-)

tak igen VH joachim
Monsterbruger
24-11-2012 14:32
hej det kan godt være jeg bare er dum... men skulle dette ikke virke hvis jeg har sat tablet rigtigt op???

http://pastebin.com/Vk1VUeu5

det ser bare ud til at der ikke kommer noget svar tilbage om den er true eller ej... ignen fejl meddelse på siden eller i sourcecoden...


her er den store sammenhæng:::


http://pastebin.com/zgjSnPDp


mit connect script ser nu sådan her ud:::


http://pastebin.com/EdAzTL4x
TommyB

#23

Junior Supporter
24-11-2012 15:44
Hvorfor har du paranteser uden om aktiv-kaldet ?
Monsterbruger
24-11-2012 19:05
ellers kalder den en syntax fejl
TommyB

#25

Junior Supporter
24-11-2012 22:04
Og bruger du overhvoedet din PDO ? $iws_db ? - Nu ligner det at du forsøger at bruge databasen på to forskellige måder ?
Elitebruger
24-11-2012 22:54
#25 Tvivler - det er sikkert bare noget han har set eller der var der i forvejen. Jeg anbefalede ham også at benytte det i stedet for mysql_, men tror ikke helt den sank igennem
Monsterbruger
25-11-2012 00:33
hej jeg er selv MEGET dårlig til php... så derfor er der en ven der har hjulpet mig... men han bor i kbh og er meget stresset.. (jeg bor i kolding)... og derfor har jeg svært ved at støbe det hele sammen... jeg ved han har fundet nogle scripts på nettet også... jeg kan godt html/css delen men ikke php delen... jeg må sige jeg er utrolig glad for i gider hjælpe og taknemmelig for jeres tålmodighed...

derfor ved jeg heller ikke helt hvad PDOen bruges til... men såvidt jeg kan se er den forbundet med connectet der er over... jeg kunne ikke få den til at virke med $mysql_connection

jeg ved ikke helt hvorfor men den svarede ikke på comanden... '


VH jaochim....

p.s. jeg troede ikke det var så svært som det er
HOL Moderator
25-11-2012 01:18
http://pastebin.com/EdAzTL4x

Din funktion "aktiv" vil ALTID returnere false

Udover det, som det bliver nævn, så laver du en PDO-connection, men bruger den aldrig - ikke i det vi kan se i hvert fald
TommyB

#29

Junior Supporter
25-11-2012 09:22
Stallemanden : Det er mig der har skrevet funktionen om, den den virker.

Se linje 32 i din egen paste.
HOL Moderator
25-11-2012 09:36
#29
Ahh, did not see that.
(Det er ikke min egen paste, men kopieret direkte fra #22)
TommyB

#31

Junior Supporter
25-11-2012 10:14
Mit forslag er at glemme pdo indtil du har noget der virker, jeg går udfra det er på hobby plan.
Monsterbruger
25-11-2012 16:19
ja halv om halv hobby... men jeg er ikke php coder... jeg er grafiker.. og har bare fået denne opgave
TommyB

#33

Junior Supporter
25-11-2012 16:47
Skriv til mig på mail og beskri projektet, så skal jeg gerne gi lidt hjælp og hints.
TommyB

#34

Junior Supporter
27-11-2012 07:30
Til de nysgerrige :
Jeg har nu set koden, og han kører et shop-system eller framework der bruger PDO og sin egen session-styring.

Det forklare variablen $iws_db, og det forklare også $SESSION, de har samtidig valgt at blande deres egen session-styrring helt ind i PHP's indbyggede, hvilket lyder underligt.

Anyways, jeg kan godt forstå hvis Joachim har været godt forvirret.
TommyB

#35

Junior Supporter
27-11-2012 22:44
Joachim har skrevet til mig at de sidste ændringer vi lavede virkede :)

En fejl var bla. at kalde en session variable FØR session_start. Sååå det går fremad :)
Bruger påkrævet
En bruger er påkrævet for at oprette svar på Hardwareonline.dk
Du kan oprette en bruger her eller logge ind her

Log ind for at få flere funktioner