• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • [Beta] Ottomaan: gratis browserspel met een echte, levende stad. Feedback gezocht!

    frio 27 oktober 2026 om 12:22
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Jeroen.G 26 oktober 2026 om 10:33
  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    eeyk 22 oktober 2026 om 18:43
  • Crime Club volledig herschreven vanaf nul

    frio 19 oktober 2026 om 23:57
  • Malavita (nieuwe maffia game, van 0)

    jos 19 oktober 2026 om 23:18
  • Herkent deze Notion-structuurscan echte problemen?

    Jeroen.G 19 oktober 2026 om 15:09
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Servertjee 3 oktober 2026 om 10:56
  • Luchtvaartsoftware: Hoe technologie de moderne luchtvaart verandert

    saggy2829 30 september 2026 om 19:31

Marktplaats

  • [Aanbod] Stadskaart voor je browsergame: van menu naar klikbare stad, vanaf €200

    frio 29 oktober 2026 om 18:17
  • [Verkoop] G4G (Gangsters 4 Gangsters): volledige broncode, nieuw gebouwd in PHP 8.3 | € 30 per domein

    frio 27 oktober 2026 om 18:54
  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 26 oktober 2026 om 00:22

count in mysqli

  • Chesney
  • 13 augustus 2012 om 00:33
  • Gesloten
  • Chesney
    Leerling
    Berichten
    49
    • 13 augustus 2012 om 00:33
    • #1

    ik kom er niet uit hoe je count gebruikt in mysqli...

    ik doe nu dit..
    dit is een stukje van de code

    PHP
    <?php //query emails tellen
    $telemails = $mysqli->query("SELECT count(id) AS count_emails FROM `users` WHERE `email`='".$email."'");
    
    
    //query ip's tellen
    $telips = $mysqli->query("SELECT count(id) AS count_ips FROM `users` WHERE `ip`='".$_SERVER['REMOTE_ADDR']."'");
    //query namen tellen
    $telnamen = $mysqli->query("SELECT count(id) AS count_namen FROM `users` WHERE `gebruikersnaam`='".$login."'");
    
    
    //controles uitvoeren
    if(empty($email) || !preg_match('/^[^@]+@(.+)\.[a-zA-Z]{2,10}/', $email)){ 
        $errors[] = 'Uw email is leeg, is niet van het juiste formaat of bevat tekens die niet toegestaan zijn!'; 
    }
    if(empty($login) || !preg_match('/^[a-zA-Z0-9_\-]+$/',$login)) {
    	$errors[] = 'Uw gebruikersnaam is leeg of bevat tekens die niet toegestaan zijn!';
    }
    if($telemails['count_emails']) {
    	$errors[] = 'Uw e-mailadres werd al gevonden in onze database!';
    } 
    if(count($telnamen)) {
    	$errors[] = 'Uw gebruikersnaam werd al gevonden in onze database!'.$telemails['count(id)'];
    }
    if(count($telips)) {
    	$errors[] = 'Uw ip werd al gevonden in onze database!';
    }
    ?>
    Meer tonen
  • Gast, wil je besparen op je domeinnamen? (ad)
  • Tim
    Expert
    Berichten
    3.684
    • 13 augustus 2012 om 00:35
    • #2

    Le Google:
    http://www.w3schools.com/sql/sql_func_count.asp

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • Chesney
    Leerling
    Berichten
    49
    • 13 augustus 2012 om 00:47
    • #3

    zover was ik ook al...
    maar hoe moet ik dat nu weergeven of beter gezegd hoe plaats ik dat in een if om te controleren als de gebruikersnaam al bestaat?...

    mvg

  • ismail123
    Advanced programmer.
    Berichten
    678
    • 13 augustus 2012 om 01:56
    • #4
    Citaat van BrokenTrack

    Le Google:
    http://www.w3schools.com/sql/sql_func_count.asp


    Le Fail.
    Volgens mij hou je niet van lezen?..

    Chesney,

    Als je met mysqli gaat werken, is het ongeveer hetzelfde principe als met mysql.
    Alleen dan werk je meer OO (object georeenteerd).
    Als je nou eens van de mysql kant bekijkt en je wilt iets hebben.
    Dan heb je de query:
    mysql_query();
    Dat is de code die uitgevoerd wordt door mysql oftewel je database machine.
    De resultaat die je daarbij terugkrijgt is nog in een andere taal "mysql taal", die niet leesbaar is voor php.

    Daarvoor heb je mysql result/resultaat functies.
    Zoals mysql_num_rows die telt het aantal rijen die je hebt ontvangen uit de query.
    Dus als we nu even teruggaan naar mysqli, ben je vergeten een resultaat functie toe te voegen aan de query.

    Ik geef je een voorbeeld:

    PHP
    $haal_emails = $mysqli->query("SELECT count(id) AS count_emails FROM `users` WHERE `email`='".$email."'"); 
    $tel_emails = $result->fetch_row();
    if($tel_emails >= 0){
    $errors[] = 'Uw gebruikersnaam werd al gevonden in onze database!'; 
    } 
    echo $tel_emails['id']; // Resultaat: De aantal id's die er zijn, van de query

    Ik hoop je hiermee voldoende te hebben geïnformeerd.

    Succes ermee:cheer:

    Met vriendelijke groet,
    Ismail
    enthousiaste game developer

  • iCold
    Professional
    Berichten
    1.630
    • 13 augustus 2012 om 02:02
    • #5

    ismail123, hij wilt controleren als die gebruikersnaam al bestaat.
    TS, hiervoor heb je geen count nodig.
    Even een kleine uitleg van wat ik allemaal gebruik.
    mysqli->query = voor gegevens ophalen.
    num_rows = letterlijk kijken hoeveel rijen er al zijn.

    Voorbeeld:

    PHP
    $emailSql = $mysqli->query("SELECT `id` FROM `users` WHERE `email`='".$email."'"); 
    $emailAvailable = $emailSql->num_rows;
    	if($emailAvailable > 1){
    		$errors[] = "Deze email bestaat al";
    	}

    [offtopic]mysqli is niet mijn sterkste kant[/offtopic]

  • ismail123
    Advanced programmer.
    Berichten
    678
    • 13 augustus 2012 om 02:06
    • #6

    @H.Rayn,
    Het zou wel kunnen en vergt minder verwerktijd voor aan de database kant en de serverside kant.
    Maar jou optie is ook mogelijk.
    Ik geef hem een basis waarop hij kan werken en daaruit werkt hij zijn eigen kant op.

    Met vriendelijke groet,
    Ismail
    enthousiaste game developer

  • Chesney
    Leerling
    Berichten
    49
    • 13 augustus 2012 om 09:21
    • #7

    ok, maar de functie count is toch sneller als ik enkel wil weten hoeveel rijen er zijn?

    ik heb geprobeerd wat ismail zei maar er klopt iets kleins niet denk ik .. want hij heeft nu altijd de errors :p
    heb al wat geprobeerd maar ben er niet zo in thuis dus weet eigenlijk niet water nog verkeerd is..

    mvg, Chesney alvast bedankt voor de reacties..

    PHP
    //query emails tellen
    $get_emails = $mysqli->query("SELECT count(id) AS count_emails FROM `leden` WHERE `email`='".$email."'");
    $tel_emails = $get_emails->fetch_row();
    //query ip's tellen
    	$get_namen = $mysqli->query("SELECT count(id) AS count_namen FROM `leden` WHERE `gebruikersnaam`='".$login."'")or die('get_namen:'.$mysqli->error);
    	$tel_namen = $get_namen->fetch_array();
    	//query emails tellen
    	$get_emails = $mysqli->query("SELECT count(id) AS count_emails FROM `leden` WHERE `email`='".$email."'")or die('get_emails'.$mysqli->error);
    	$tel_emails = $get_emails->fetch_array();
    	//query ip's tellen
    	$get_ips = $mysqli->query("SELECT count(id) AS count_ips FROM `leden` WHERE `ip`='".$_SERVER['REMOTE_ADDR']."'")or die('get_ips:'.$mysqli->error);
    	$tel_ips = $get_ips->fetch_array();
    //controles uitvoeren
    if(empty($email) || !preg_match('/^[^@]+@(.+).[a-zA-Z]{2,10}/', $email)){ 
        $errors[] = 'Uw email is leeg, is niet van het juiste formaat of bevat tekens die niet toegestaan zijn!'; 
    }
    if(empty($login) || !preg_match('/^[a-zA-Z0-9_-]+$/',$login)) {
    	$errors[] = 'Uw gebruikersnaam is leeg of bevat tekens die niet toegestaan zijn!';
    }
    if($tel_emails >= 0) {
    	$errors[] = 'Uw e-mailadres werd al gevonden in onze database!';
    } 
    if($tel_namen >= 0) {
    	$errors[] = 'Uw gebruikersnaam werd al gevonden in onze database!';
    }
    if($tel_ips >= 0) {
    	$errors[] = 'Uw ip werd al gevonden in onze database!';
    }
    Meer tonen



    Nieuwe reactie samengevoegd met originele reactie op 13.08.12 09:49:49:
    ik heb de fout al gevonden .. was nog aan het slapen denk ik... :p
    de >= 0 moest > 0 zijn...
    verder heb ik ook nog andere dingen veranderd..

    zal het script even posten..
    graag ook jullie mening ervan...

    PHP
    <div class="middletitle">Registreren</div>
    <div id="middlecontent">
    <?php
    if(isset($_POST['submit']))
    {
    
    
    	//beveiliging tegen injecties
    	$login = $mysqli->real_escape_string($_POST['login']);
    	$pass = $mysqli->real_escape_string($_POST['pass']);
    	$email = $mysqli->real_escape_string($_POST['email']);
    	$errors = array(); //array maken
    
    
    	//query namen tellen
    	$get_namen = $mysqli->query("SELECT count(id) AS count_namen FROM `leden` WHERE `gebruikersnaam`='".$login."'")or die('get_namen:'.$mysqli->error);
    	$tel_namen = $get_namen->fetch_array();
    	//query emails tellen
    	$get_emails = $mysqli->query("SELECT count(id) AS count_emails FROM `leden` WHERE `email`='".$email."'")or die('get_emails'.$mysqli->error);
    	$tel_emails = $get_emails->fetch_array();
    	//query ip's tellen
    	$get_ips = $mysqli->query("SELECT count(id) AS count_ips FROM `leden` WHERE `ip`='".$_SERVER['REMOTE_ADDR']."'")or die('get_ips:'.$mysqli->error);
    	$tel_ips = $get_ips->fetch_array();
    
    
    	//controles uitvoeren
    	if(empty($login) || !preg_match('/^[a-zA-Z0-9_\-]+$/',$login))
    	{
    		$errors[] = 'Uw gebruikersnaam is leeg of bevat tekens die niet toegestaan zijn!';
    	}
    	if(empty($email) || !preg_match('/^[^@]+@(.+)\.[a-zA-Z]{2,10}/', $email))
    	{ 
    		$errors[] = 'Uw email is leeg, is niet van het juiste formaat of bevat tekens die niet toegestaan zijn!'; 
    	}
    	if($tel_namen['count_namen'] > 0)
    	{
    		$errors[] = 'Uw gebruikersnaam werd al gevonden in onze database!';
    	}
    	if($tel_emails['count_emails'] > 0)
    	{
    		$errors[] = 'Uw e-mailadres werd al gevonden in onze database!';
    	} 
    	if($tel_ips['count_ips'] > 0)
    	{
    		$errors[] = 'Uw ip werd al gevonden in onze database!';
    	}
    
    
    	if(count($errors)) 
    	{ 
    		echo 'Verbeter de volgende fouten:<br /> '; 
    			foreach($errors as $error)
    			{
        			echo '<span style="color: #ff0000">' . $error . '</span><br />'; 
    			}
    	} 
    	else 
    	{
    		$query = "INSERT INTO `leden` (gebruikersnaam,wachtwoord,email,ip,aangemeld_op) VALUES('$login',MD5('$pass'),'$email','".$_SERVER['REMOTE_ADDR']."',NOW())";
    		$mysqli->query($query);
    		
    		echo "<font color='green'>Bedankt voor je registratie, <a href='index.php?pagina=inloggen'>ga door naar de login pagina</a>.</font>";
    	}
    }
    ?>
    <form method="post">
    	<table>
    		<tr>
            	<td width="175">Gebruikersnaam:</td>
    			<td><input type="text" name="login" size="35" maxlength="20"></td>
            </tr>
    		<tr>
            	<td width="175">Wachtwoord:</td>
    			<td><input type="password" name="pass" size="35" maxlength="20"></td>
            </tr>
    		<tr>
            	<td width="175">E-mailadres:</td>
    			<td><input type="text" name="email" size="35"></td>
             </tr>
    		<tr>
            	<td>&nbsp;</td>
            	<td><input type="submit" name="submit" value="Registreren!" class="verzend"></td>
     		</tr>
    	</table>
    </form>
    </div>
    </div>
    Meer tonen
  • ismail123
    Advanced programmer.
    Berichten
    678
    • 13 augustus 2012 om 09:51
    • #8

    Wat is de error?
    Vergeet niet bij elke query een or die($mysqli->error) of een ander alternatief om de error te laten zien neer te zetten.
    Bijvoorbeeld:

    PHP
    $get_namen = $mysqli->query("SELECT count(id) AS count_namen FROM `leden` WHERE `gebruikersnaam`='".$login."'")or die($mysqli->error);


    Daarmee krijg je de error op je scherm als de query niet klopt.

    Met vriendelijke groet,
    Ismail
    enthousiaste game developer

  • Chesney
    Leerling
    Berichten
    49
    • 13 augustus 2012 om 10:07
    • #9

    zie vorige reactie.. die is samengevoegd...:p

  • ismail123
    Advanced programmer.
    Berichten
    678
    • 13 augustus 2012 om 10:20
    • #10

    Ja ik zie het Chesney, wel netjes dat je het zelf hebt kunnen oplossen!
    Voor de rest vind ik het wel goed genoeg.
    Hier mag een slotje op toch Chesney?

    Met vriendelijke groet,
    Ismail
    enthousiaste game developer

  • Chesney
    Leerling
    Berichten
    49
    • 13 augustus 2012 om 10:25
    • #11

    ja hoor ;) :slotje: bedankt voor de reacties ;)

Registratie

Nog geen account? Registreer je nu en word deel van onze community!

Nu registreren Aanmelden

ICT Nieuws

  • PHP waarschuwt voor twee ernstige bugs die makkelijk uit te buiten lijken

    Aaron 22 oktober 2026 om 22:19

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 3 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design