login  Naam:   Wachtwoord: 
Registreer je!
 Forum

een dbugfout die ik niet begrijp

Offline elian - 16/01/2011 08:56
Avatar van elianLid Beste,

ik ben een script aan het maken die het e-mail adres uit de dbase haalt met een form,om zo een mail te kunnen sturen met php.
Bij de dbuging krijg ik het volende:
Warning: mysql_result() expects parameter 2 to be long, string given in /home//public_html/id_query.php on line 33

Plaatscode: 140503

Met dank
Kan mij iemand uitleggen wat dit juist betekend?

11 antwoorden

Gesponsorde links
Offline lolll - 16/01/2011 10:21
Avatar van lolll Lid Wel de error zegt dat de functie 'mysql_result()' als 2de parameter een long (lange int, getal dus) verwacht. En jij hebt een string aan die functie meegegeven op lijn 33.

In je code geef je inderdaad ook een string mee nl. "email". Ik weet zelf niet wat de 2de parameter juist moet doen, maar het mag in ieder geval geen string zijn zoals jij er een hebt meegegeven.

Lolll
Offline valles10 - 16/01/2011 10:54
Avatar van valles10 HTML interesse Neen idd, tel de rijen in je database van links naar rechts tot je bij email komt, het getal dat je net getelt hebt, moet op de plaats van die 'email' komen.
Offline lolll - 16/01/2011 11:01 (laatste wijziging 16/01/2011 11:02)
Avatar van lolll Lid ow ok. Bijna juist... 
Misschien ter info voor hem, je moet beginnen te tellen vanaf 0
Lolll
Offline elian - 16/01/2011 11:27
Avatar van elian Lid Ik haal het mail adres uit de dbase, en wil die als ontvanger gebruiken voor de e-mail
dat is de bedoeling
voor zover ik weet als beginner moet die toch in een $ komen?
Plaatscode: 140504

dit doe ik zo dus, of ben ik geheel fout?

met dank
Offline elian - 16/01/2011 11:27
Avatar van elian Lid Ik haal het mail adres uit de dbase, en wil die als ontvanger gebruiken voor de e-mail
dat is de bedoeling
voor zover ik weet als beginner moet die toch in een $ komen?
Plaatscode: 140505

dit doe ik zo dus, of ben ik geheel fout?

met dank
Offline ibmos2warp - 16/01/2011 11:28
Avatar van ibmos2warp PHP interesse Let op dat $m geen user data is, tenzij er PHP.net: mysql_real_escape_string over is gegaan.
'or die' is geen foutafhandeling. Toon ook nooit de php / mysql fout aan de gebruiker.
Volgens mij kan je beter PHP.net: mysql_fetch_assoc gebruiken.
Offline Sam - 16/01/2011 12:50 (laatste wijziging 16/01/2011 12:53)
Avatar van Sam PHP expert Julie zijn toch niet helemaal juist hoor. De tweede parameter in mysql_result(); geeft weer in welke rij je de gegevens wilt gaan zoeken. Als je bijvoorbeeld het email adres van de eerste geselecteerde rij wil hebben:

  1. <?php
  2. mysql_result($query, 0, "emailAdress");
  3. ?>


--> http://www.plaatscode.be/140506/
Offline elian - 16/01/2011 17:19 (laatste wijziging 16/01/2011 17:39)
Avatar van elian Lid dus, na alles wat ik hier nu heb gelezen, is het zo dat
FROM members moet veranderd worden naar het nr van de rij?
dat begrijp ik nu niet
als je aangeeft waar hij moet zoeken, in mijn geval dus FROM members
is dit dus niet goed, maar moet ik dus de rijen tellen vanaf 0 of ben ik mis?
en dus bv: ipv. SELECT emailAddress moet ik dus bv.(15) ingeven.
met dank
Offline Sam - 16/01/2011 20:56
Avatar van Sam PHP expert Dat zegt toch niemand? Lees mijn vorige reply en kijk vooral ook eens naar de bewerkte versie van jouw code die ik er heb bijgezet  

Rijen tellen is dikke b$. Ten eerste zijn rijen gelijk aan de records in je database, en niet aan de velden. Dus als je een select uitvoert is het eerste resultaat de nulde rij, het tweede resultaat is de eerste rij etc. De volgende parameter in mysql_result(); is ofwel de index van je veld in je query ofwel de naam, alias of tabelname.fieldname van je veld.
Offline avdg - 16/01/2011 21:06
Avatar van avdg PHP gevorderde Lees gewoon de documentatie op de php website (http://www.php.net/functie), daar staat allemaal netjes uitgelegd. Als je de omschrijving niet snap, lees dan http://be.php.net/types voor meer informatie.
Offline ibmos2warp - 16/01/2011 21:16
Avatar van ibmos2warp PHP interesse
Sam schreef:
Julie zijn toch niet helemaal juist hoor. De tweede parameter in mysql_result(); geeft weer in welke rij je de gegevens wilt gaan zoeken. Als je bijvoorbeeld het email adres van de eerste geselecteerde rij wil hebben:

[..code..]

--> http://www.plaatscode.be/140506/

Ik bied alleen een alternatief, die volgens mij handiger werkt :-).
Voor de rest zijn het waarschuwingen die vaak niet bekend zijn bij beginners.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.183s