Gå til innhold

Problem med "mysql_fetch_assoc(): supplied argument is not"


Anbefalte innlegg

Hei!

 

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/virtual/grenlandgatebil.no/public_html/nyhet/news.php on line 160

 

Linje 160 er:

 

while($news = mysql_fetch_assoc($SQL_query))

 

Så feilen må ligge i queryen, som er her:

 

/* Get information about the News Post */

$SQL_query = mysql_query('SELECT n.id,n.posterid,n.postername,n.time,n.subject,n.titletext,n.maintext,n.catid,n.views,p.use

name,p.email,p.avatar,c.catname,c.caticon'

. ' FROM ' . $db_prefix . 'news AS n'

. ' LEFT JOIN ' . $db_prefix . 'posters AS p ON(n.posterid=p.id)'

. ' LEFT JOIN ' . $db_prefix . 'categories AS c ON(n.catid=c.id)'

. ' WHERE n.trusted = 1'

. ' ORDER by n.id DESC'

. ' LIMIT ' . $_GET['prevnext'] . ', ' . $Settings['numtoshow'] . '');

 

Noen som kunne hjulpet meg? Finner ikke ut av det, har prøvd masse forskjellig, som å legge til "" osv her og der, men får den ikke til.

Lenke til kommentar
Videoannonse
Annonse

/* Get information about the News Post */

$SQL_query = mysql_query("SELECT n.id,n.posterid,n.postername,n.time,n.subject,n.titletext,n.maintext,n.catid,n.views,p.use

name,p.email,p.avatar,c.catname,c.caticon"

. " FROM " . $db_prefix . "news AS n"

. " LEFT JOIN " . $db_prefix . "posters AS p ON(n.posterid=p.id)"

. " LEFT JOIN " . $db_prefix . "categories AS c ON(n.catid=c.id)"

. " WHERE n.trusted = 1"

. " ORDER by n.id DESC"

. " LIMIT " . $_GET['prevnext'] . ", " . $Settings['numtoshow'] . "");

 

 

echo mysql_error ();

 

 

 

Sånn er den nå, men får samme greiene.

 

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 '' at line 1

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/virtual/grenlandgatebil.no/public_html/nyhet/news.php on line 163

 

Linjenummer er annerledes men det er bare pga noen mellomrom på toppen som jeg fikk.

Lenke til kommentar

$SQL_query = mysql_query( "SELECT n.id, n.posterid, n.postername, n.time, n.subject, n.titletext, n.maintext, n.catid, n.views, p.use, p.name, p.email,p.avatar,c.catname,c.caticon
FROM {$db_prefix}news n
LEFT JOIN {$db_prefix}posters p ON (n.posterid=p.id)
LEFT JOIN {$db_prefix}categories c ON (n.catid=c.id)
WHERE n.trusted = 1
ORDER by n.id DESC
LIMIT {$_GET['prevnext']}, {$Settings['numtoshow']}" ) or die( mysql_error() );

 

Gi den et forsøk.

 

 

EDIT: Du har "name" på linje to, uten prefix/tabell alias (eller hva det nå enn heter), og uten komma før. Sikkert det som gjorde det.

Endret av m4rtin
Lenke til kommentar
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 '' at line 7

 

Fikk jeg med den, så det funker heller ikke.

Hva med å bytte ut mysql_query med echo, og se hvilken spørring som faktisk kjøres. Gjetter på at en av variablene du bruker i spørringen ikke er satt, og at spørringen derfor feiler.

 

Det er forresten en EKSTREMT dårlig uvane å bruke GET/POST-variabler direkte i spørringer.

Lenke til kommentar

Ja dette er phpnews scriptet som jeg prøver å bruke, dette er news.php som man inkluderer for å vise nyhetene sine.

 

SELECT n.id, n.posterid, n.postername, n.time, n.subject, n.titletext, n.maintext, n.catid, n.views, p.use, p.name, p.email,p.avatar,c.catname,c.caticon FROM news n LEFT JOIN posters p ON (n.posterid=p.id) LEFT JOIN categories c ON (n.catid=c.id) WHERE n.trusted = '1' ORDER by 'n.id' DESC LIMIT 0,

 

Det fikk jeg

Lenke til kommentar

Hvis du trenger hjelp, vær så snill og kom med litt mer informasjon. Det er helt håpløst å måtte be deg om å sende ved detaljer rundt feilen for hvert innlegg, så:

 

Post SQL-spørringen slik den blir sendt med mysql_query ved å bytte ut mysql_query med echo, slik du ble bedt om sist.

 

I tillegg vet du nå at feilen sannsynligvis ligger i parameterne som brukes i spørringen, så det er lov å gjøre litt testing og debugging selv før du whiner i forumet fordi ting ikke funker.

Lenke til kommentar

Har prøvd og prøvd å endre og debugge og alt mulig med dette phpnews scriptet og har ikke fått det til. Har prøvd før og og aldri fått den til å funke.

 

Ville tro et ferdig script burde funke, og har lest det skal være bra, men funker ikke.

 

Har sett gjennom koden.

Endret av uranus
Lenke til kommentar

Jeg mener ikke å være frekk, men heller å presisere viktigheten av at du kommer med grundige opplysninger om problemet dersom du forventer at noen skal hjelpe deg.

 

Jeg bytta det ut med tallet 10, men får alikevel feil.

Du har ikke postet koden etter at du endret på dette, og heller ikke postet SQL-spørringen.

Du kan jo evt prøve å kjøre denne spørringen direkte mot MySQL og se om den gir deg noen feil:

SELECT n.id, n.posterid, n.postername, n.time, n.subject, n.titletext, n.maintext, n.catid, n.views, p.use, p.name, p.email,p.avatar,c.catname,c.caticon FROM news n LEFT JOIN posters p ON (n.posterid=p.id) LEFT JOIN categories c ON (n.catid=c.id) WHERE n.trusted = '1' ORDER by 'n.id' DESC LIMIT 0, 10

Lenke til kommentar

Det med tallet 10 ga nøyaktig samme feil som uten endring, men det vil på en måte ikke ha noe betydning ville jeg tro da det er for pagination tror jeg (?)

 

Fjerna den limit biten og fortsatt nøyaktig samme feil.

 

SELECT n.id, n.posterid, n.postername, n.time, n.subject, n.titletext, n.maintext, n.catid, n.views, p.use, p.name, p.email,p.avatar,c.catname,c.caticon FROM phpnews_news n LEFT JOIN phpnews_posters p ON (n.posterid=p.id) LEFT JOIN phpnews_categories c ON (n.catid=c.id) WHERE n.trusted = '1' ORDER by 'n.id' DESC LIMIT 0, 10

 

Kjørte den i phpmyadmin, og fikk:

 

MySQL sa: Dokumentasjon

#1054 - Unknown column 'p.use' in 'field list'

 

 

Så prøvde jeg:

 

SELECT *

FROM phpnews_news n

LEFT JOIN phpnews_posters p ON ( n.posterid = p.id )

LEFT JOIN phpnews_categories c ON ( n.catid = c.id )

WHERE n.trusted = '1'

ORDER BY 'n.id' DESC

LIMIT 0 , 10

 

Og fikk:

 

MySQL returnerte ett tomt resultat (m.a.o. ingen rader). (Spørring tok 0.0007 sek)

 

Det er nyheter i databasen.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...