login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Fout bij ophalen uit db (Opgelost)

Offline anton - 19/02/2009 17:27
Avatar van antonLid Hallo,
Ik heb dus voor mijn site een beheerderspaneel in elkaar gezet.
En daar kan je bijvoorbeeld de texten van site info aanpassen.
Als de admin dan op "wijzigen!" klikt dan word er met de volgende sql code de text in de database gezet:
  1. $s = "INSERT INTO siteinfo (cID,ScID,Qid,text)VALUES('".$_POST['cID']."','".$_POST['ScID']."','".$_POST['Qid']."','".$_POST['text']."')";
  2. $q = mysql_query($s);
  3. echo "Wacht even terwijl we uw aanpassingen opslaan...";

dit werkt allemaal perfect , want alles word juist in de db gezet , het is bij het ophalen dat het probleem zit...
Als ik met de volgende code de text uit de db haal krijg ik een rare error:
  1. <?
  2. $a = mysql_query("SELECT text FROM siteinfo WHERE cID = 'FAQ' AND ScID = 'Alg' AND Qid = '1'");?>

en dan ergens anders op die pagina:
  1. <? echo $a ?>

als ik dan naar die pagina ga dan krijg ik in plaats van de aangepaste text hetvolgende te zien:
Resource id#10
de nummers verschillen als het andere records zijn...iemand een idee wat dit is?

MVG
Anton Vandeghinste

6 antwoorden

Gesponsorde links
Offline Wim - 19/02/2009 17:29
Avatar van Wim Crew algemeen PHP.net: mysql_query

mysql_query retourneerd een resource, geen string!

kijk naar:
PHP.net: mysql_fetch_object
PHP.net: mysql_fetch_array
PHP.net: mysql_fetch_assoc
Offline Koen - 19/02/2009 17:29
Avatar van Koen PHP expert $a bevat een resource, je zal dus eerst de gegevens moeten ophalen.

Dit doe je met PHP.net: mysql_fetch_row of PHP.net: mysql_result.

Succes 
Offline anton - 19/02/2009 17:31 (laatste wijziging 19/02/2009 17:32)
Avatar van anton Lid is een resource niet een groep van rijen binnen een record? Ik dacht dat als ik SELECT text FROM ... deed , dat ik dan ook enkel text zou krijgen...
Ik zal eens proberen met een array

MVG
Anton Vandeghinste

EDIT: Idd ik heb nu een array gebruikt , en nu werkt het! Bedankt!
Offline Martijn - 19/02/2009 17:32 (laatste wijziging 19/02/2009 17:32)
Avatar van Martijn Crew PHP even een kleine toevoeging voor de reply bij wimmarien, je kunt het beste fetch_assoc doen om te beginnen 

  1. $fetch = mysql_fetch_assoc($query);
  2. echo $fetch['text'];

(waarom assoc en niet object? object is wat langzamer.)
Offline Koen - 19/02/2009 17:33 (laatste wijziging 19/02/2009 17:33)
Avatar van Koen PHP expert In dit geval is de snelste oplossing met behulp van PHP.net: mysql_result.

  1. $text = mysql_result($a, 0);
Offline Wim - 19/02/2009 17:37 (laatste wijziging 19/02/2009 17:37)
Avatar van Wim Crew algemeen
DeviourSoul schreef:
even een kleine toevoeging voor de reply bij wimmarien, je kunt het beste fetch_assoc doen om te beginnen 

[..code..]
(waarom assoc en niet object? object is wat langzamer.)



php.net/assoc schreef:
Note: Performance
An important thing to note is that using mysql_fetch_assoc() is not significantly slower than using mysql_fetch_row(), while it provides a significant added value.

php.net/object schreef:
Note: Performance
Speed-wise, the function is identical to mysql_fetch_array(), and almost as quick as mysql_fetch_row() (the difference is insignificant).


Daar maak ik uit opdat het gelijk is...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.395s