Toon posts:

[php/mysql] Probleem met query

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met 'n stats ding om te kunnen zien wie er allemaal op m'n server komen. Ik kom 'n fout tegen..
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
$n_hostname =   gethostbyaddr($REMOTE_ADDR);
$ipadres    =   $REMOTE_ADDR;
$datum      =   date("d.m.Y");

$dbhost =   "localhost";
$dbname =   "stats";
$dbpw   =   "jajaja";
$dbuser =   "ohjaaa";
$link   =   mysql_connect($dbhost, $dbuser, $dbpw); mysql_select_db($dbname);

$query  =   "INSERT INTO stats_home (ip,host,datum) VALUES ('$ipadres','$n_hostname','$datum')";
$result =   mysql_query($query) or die(mysql_error());

function aantalHits()
{
    $tekst  =   mysql_query("SELECT count(host) FROM stats_home where host='$n_hostname');
    $inhoud =   mysql_fetch_row($tekst);
    echo("$inhoud[0]");
}

Nu geeft dus de $inhoud[0] een waarde van 0 weer. (niet 'niets')... en da vind ik vreenmd.. Als ik via ssh inlog en dezelfde query hard in mysql draai, dan zie ik netjes het juiste aantal. Het is dus net of er een probleem is bij de vergelijking. Dus met de variabele n_hostname. (deze bevat wel degelijk de hostname, heb ik geprobeerd met 'n echo).

iemand enig idee?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

or die(mysql_error());
print_r($inhoud);

Doet iets met Cloud (MS/IBM)


Verwijderd

In de functie: global $n_hostname;

Verwijderd

Topicstarter
Op zondag 12 mei 2002 16:42 schreef NextGeneration het volgende:
In de functie: global $n_hostname;
nee, hoeft niet.. zo staat m'n apache ingesteld.

En als ik de
or die(mysql_error());
print_r($inhoud);

erin zet, dan krijg ik:
Array ( [0] => 0 ) 0

????

Verwijderd

Topicstarter
mijn vraag is dus:

hoe kan ik in een query gebruik maken van een 'al gevulde variabele'??

dus
code:
1
$tekst = mysql_query("SELECT count(host) FROM stats_home where host='$n_hostname');

werkt niet, en
code:
1
$tekst = mysql_query("SELECT count(host) FROM stats_home where host='pc107-000');

werkt wel!

hij ziet dus in die eerste query mijn goede hostname niet.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

query= "SELECT count(host) FROM stats_home where host='$n_hostname'";
echo "$query";
$tekst = mysql_query($query);

en zo?

Doet iets met Cloud (MS/IBM)


Verwijderd

Dat betekent dus dat $n_hostname niet gevuld is (in de functie), lijkt me toch global (ook al staat dat ingesteld).

Verwijderd

Topicstarter
Op zondag 12 mei 2002 16:54 schreef D2k het volgende:
query= "SELECT count(host) FROM stats_home where host='$n_hostname'";
echo "$query";
$tekst = mysql_query($query);

en zo?
Dan 'blijkt' dus dat ie leeg is, want de echo stopt bij 'where host="'....

Als ik in de function nog eens (voor de query) het volgende erin zet: $n_hostname = gethostbyaddr($REMOTE_ADDR);

dan geeft ie precies hetzelfde!!!!!

WHAAAAAAAAAAAAAAAAAA

edit:

$n_hostname is toch geen bestaande variabele ofwel?

Verwijderd

Op zondag 12 mei 2002 17:05 schreef samba het volgende:
edit:

$n_hostname is toch geen bestaande variabele ofwel?
Nee, niet bestaand (standaard in php dus).

Maar heb je het al met global geprobeerd (jaja, ik blijf zeuren)?

Verwijderd

Topicstarter
:P
JA!

al geprobeerd, mocht niet baten!

:( ik zou het bijna opgeven....

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Als ik in de function nog eens (voor de query) het volgende erin zet: $n_hostname = gethostbyaddr($REMOTE_ADDR);
straaaaaaaaaaange
en als je daarachter gewoon $n_blaat echot?

Doet iets met Cloud (MS/IBM)


Verwijderd

Kan je aantalHits() niet zo aanroepen:
- aantalHits($n_hostname)
- aantalHits(gethostbyaddr($REMOTE_ADDR))

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
function aantalHits($hostnaam)
{
echo("$hostnaam");
$tekst = mysql_query("SELECT count(host) FROM stats_home where ip='$hostnaam'");
$inhoud = mysql_fetch_row($tekst) or die(mysql_error);
echo("$inhoud[0]");
}

oke, de eerste echo gaat wel goed. Ik krijg dus netjes m'n hostname te zien. Maar de query gaat niet goed. Resultaat wederom '0', niet 'leeg'... (hij is dus niet leeg)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

vv die ' eens door \"

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op zondag 12 mei 2002 17:28 schreef D2k het volgende:
vv die ' eens door \"
nee, werk niet

:'(

Verwijderd

code:
1
2
3
4
5
6
7
function aantalHits($hostnaam)
{
echo("$hostnaam");
$tekst = mysql_query("SELECT count(host) FROM stats_home WHERE ip = $hostnaam") or die(mysql_error());
$inhoud = mysql_fetch_row($tekst) or die(mysql_error());
echo("$inhoud[0]");
}

Probeer het zo eens, lullig, maar het zou kunnen.

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

Op zondag 12 mei 2002 17:30 schreef NextGeneration het volgende:

[..]
Probeer het zo eens, lullig, maar het zou kunnen.
Nu krijgt ie een 'Unknown column...' error

On track


Verwijderd

Topicstarter
Oke, ik heb net nu werkende gekregen. :)
Functie aanroepen met parameter werkt dus toch wel!
Raar dat de vorige oplossing niet werkte, je kunt toch gewoon een variable aangemaakt vóór de functie, ín de functie gebruiken???

nouja, het werkt..

merci!

Verwijderd

Op zondag 12 mei 2002 18:17 schreef samba het volgende:
Oke, ik heb net nu werkende gekregen. :)
Functie aanroepen met parameter werkt dus toch wel!
Raar dat de vorige oplossing niet werkte, je kunt toch gewoon een variable aangemaakt vóór de functie, ín de functie gebruiken???
Jah, met global $variable; :P.

Verwijderd

Topicstarter
Op zondag 12 mei 2002 23:09 schreef NextGeneration het volgende:

[..]

Jah, met global $variable; :P.
Uuuuhh...... je bent lief! :)

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

Dan begrijp ik nog niet waarom deze functie dan niet werkte:
Op zondag 12 mei 2002 17:27 schreef samba het volgende:
code:
1
2
3
4
5
6
7
function aantalHits($hostnaam)
{
echo("$hostnaam");
$tekst = mysql_query("SELECT count(host) FROM stats_home where ip='$hostnaam'");
$inhoud = mysql_fetch_row($tekst) or die(mysql_error);
echo("$inhoud[0]");
}
Of je hebt ons gewoon onjuiste informatie verstrekt.. Welke straf stond daar ook al weer op? >:) ;)

On track


Verwijderd

Topicstarter
Het was de combinatie van! De functie met $hostname als parameter (om functie aan te roepen) en de global moest IN de functie.

:P
Pagina: 1