• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04

Marktplaats

  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

count in mysqli

  • Chesney
  • 13 augustus 2012 om 00:33
  • Closed
  • Chesney
    Student
    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!';
    }
    ?>
    Toon Meer
  • Tim
    Enlightened
    Ontvangen Reacties
    77
    Berichten
    3.686
    • 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
    Student
    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.
    Ontvangen Reacties
    20
    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
    Ontvangen Reacties
    7
    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.
    Ontvangen Reacties
    20
    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
    Student
    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!';
    }
    Toon Meer



    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>
    Toon Meer
  • ismail123
    Advanced programmer.
    Ontvangen Reacties
    20
    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
    Student
    Berichten
    49
    • 13 augustus 2012 om 10:07
    • #9

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

  • ismail123
    Advanced programmer.
    Ontvangen Reacties
    20
    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
    Student
    Berichten
    49
    • 13 augustus 2012 om 10:25
    • #11

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

Participate now!

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

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

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

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