Toon posts:

[PHP & MySQL] krijg count niet werkend

Pagina: 1
Acties:
  • 64 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een tabel genaamd sessies, met daarin een kolom S_ip.
in S_ip staan IP-adressen.
In het script dat ik al heb bestaat een variabele $ip waarin het betreffende IP zit

Ik wil een stukje script schijven dat me een getalletje terug geeft dat aangeeft hoevaak een IP voorkomt in S_ip.
Volgens een boekje dat ik hier heb zou het moeten lukken met:
code:
1
2
3
$aantal_query = "SELECT S_ip, COUNT (*) FROM sessies WHERE S_ip = $ip";
$aantal = mysql_result ($aantal_query,$connection);
echo "$aantal<br>";


en wat ik hier op het forum vind komt neer op:
code:
1
2
3
$aantal_query = "SELECT COUNT(*) FROM sesies WHERE S_ip='$ip'";
$aantal = mysql_result ($aantal_query,$connection);
echo "BLE $aantal<br>";


Bij deze laatste krijg ik de error:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\www\rob\uitloggen_database.php on line 21

wat doe ik fout?
wat moet het wel zijn?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:16

crisp

Devver

Pixelated

Misschien is het handig als je de query ook uitvoert? En verder zou ik eens kijken wat de juiste argumenten zijn voor mysql_result...

Intentionally left blank


Verwijderd

Topicstarter
als ik:
code:
1
2
3
$aantal_query = "SELECT COUNT(*) FROM sesies WHERE S_ip='$ip'";
$aantal = mysql_result ($aantal_query,$connection);
echo "BLE $aantal<br>";


verander in:
code:
1
2
3
$aantal_query = "SELECT COUNT(*) FROM sesies WHERE S_ip='$ip'";
$aantal = mysql_query($aantal_query,$connection);
echo "BLE $aantal<br>";


dan is de error weg, maar krijg ik nog geen aantal terug.

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-05 22:18
PHP:
1
2
$query = mysql_query("SELECT COUNT(*) FROM sesies WHERE S_ip='" . $ip . "'") or die (mysql_error());
echo mysql_result($query) . "<br />";

voila

[ Voor 68% gewijzigd door simon op 05-04-2005 11:40 ]

|>


Verwijderd

Heb je die query al uitgevoerd in bijv PHPMyadmin of de command-line van mysql? Dan zie je direct wat je terugkrijgt en merk je vanzelf waarom dit php-scriptje niet werkt :)

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 07-05 16:06
Simon schreef op dinsdag 05 april 2005 @ 11:40:
PHP:
1
2
$query = mysql_query("SELECT COUNT(*) FROM sesies WHERE S_ip='" . $ip . "'") or die (mysql_error());
echo mysql_result($query) . "<br />";

voila
Nog niet helemaal :) [sorry, je had wel gelijk], maar als je op http://nl3.php.net/mysql_query kijkt zie je hoe het wel moet en daar vind je ook voorbeelden.

[ Voor 12% gewijzigd door sjroorda op 05-04-2005 11:45 ]


  • Blaxje
  • Registratie: Maart 2005
  • Laatst online: 21-12-2024
PHP:
1
2
3
4
$aantal_query = mysql_query ("SELECT COUNT(*) FROM sesies WHERE S_ip = '" .$ip. "' ");
$aantal = mysql_result ( $aantal_query, 0);

echo 'ble ' .$aantal. '<br>';

Zoiets?

*Sjroorda was me voor*

[ Voor 96% gewijzigd door Blaxje op 05-04-2005 11:44 ]


  • zeekoe
  • Registratie: Januari 2002
  • Laatst online: 21:58
tikfoutje: je hebt sesies ipv sessies, en da's geen valid sql resource :)

Nieuw huis, nieuwe (verduurzamings)kansen...


  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-05 22:18
eigenlijk ligt de oplossing hier: http://php.net/mysql

|>


Verwijderd

Topicstarter
met de scripts van jullie krijg ik : Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\www\rob\uitloggen_database.php on line 21

Verwijderd

Verwijderd schreef op dinsdag 05 april 2005 @ 11:50:
met de scripts van jullie krijg ik : Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\www\rob\uitloggen_database.php on line 21
Wat staat er bij jouw op line 21 dan? :)

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-05 22:18
Verwijderd schreef op dinsdag 05 april 2005 @ 11:50:
met de scripts van jullie krijg ik : Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\www\rob\uitloggen_database.php on line 21
Hoe ziet die code er nú dan uit?

|>


Verwijderd

Topicstarter
sorry,

lijn 19 tot en met 23 zijn:
code:
1
2
3
4
5
// zoek het aantal keer dat het IP voorkomt
$aantal_query = mysql_query ("SELECT COUNT(*) FROM sesies WHERE S_ip = '" .$ip. "' "); 
$aantal = mysql_result ( $aantal_query, 0); 

echo 'ble ' .$aantal. '<br>';

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-05 22:18
PHP:
1
2
3
4
5
// zoek het aantal keer dat het IP voorkomt
$aantal_query = mysql_query ("SELECT COUNT(*) FROM sessies WHERE S_ip = '" .$ip. "' ") or die (mysql_error()); 
$aantal = mysql_result ( $aantal_query, 0); 

echo 'ble ' .$aantal. '<br>';

|>


Verwijderd

zet achter mysql_query dan eens or die (mysql_error()) zoals in bovenstaande voorbeelden :)

Verwijderd

Topicstarter
thnx, de code van simon werkt :D

[ Voor 36% gewijzigd door Verwijderd op 05-04-2005 11:59 ]


  • zeekoe
  • Registratie: Januari 2002
  • Laatst online: 21:58
Nog maar een keer dan... :)

$aantal_query = mysql_query ("SELECT COUNT(*) FROM sesies WHERE S_ip = '" .$ip. "

tikfoutje: je hebt sesies ipv sessies, en da's geen valid sql resource

Nieuw huis, nieuwe (verduurzamings)kansen...


  • Namu
  • Registratie: Juni 2002
  • Laatst online: 25-04 13:34

Namu

Silver Wings Of Morning

ik zou ook even een echo "$ip"; ergens neer zetten. De enige reden dat deze query namelijk fout gan kan is wanneer er er " S_ip='' " staat.

Okay, hij werkt. Mooi voor je :)

[ Voor 25% gewijzigd door Namu op 05-04-2005 11:59 ]


  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 20:41
Verwijderd schreef op dinsdag 05 april 2005 @ 11:50:
met de scripts van jullie krijg ik : Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\www\rob\uitloggen_database.php on line 21
Dat betekend dat de waardie die mysql_result() mee krijgt niet voldoet, dat is zo te zien bij jouw $query. Dus dat betekend weer dat $query fout is. $query wordt gevuld door mysql_query(). In de manuel staat dat deze functie een fout geeft, een waarde waar mysql_result() niets mee kan, als de query niet klopt. Als de query wel klopt kun de resultaten met mysql_result() wel uitlezen.

Je moet dus even nagaan waarom die query mislukt. Daar zijn methoden voor, zoals het gebruik van "or die(mysql_err())". Er zijn in de php manuel meer functies te vinden.

Dit wordt ook wel debuggen genoemd, kijk ook eens even in de P&W FAQ voor tips over debuggen en over hoe om te gaan met mysql query en foutmeldingen.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

Zie het antwoord van Sybr_E-N dus. We verwachten hier dat je zelf in staat bent om te debuggen. Een probleem als dit zou eigenlijk geen probleem moeten zijn om zelf op te lossen. Zie ook P&W FAQ - Leer **** debuggen!!

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.