count in mysqli

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


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

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Citaat van BrokenTrack


    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:

  • 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]

  • @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.

  • 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..



    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...

  • 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.

Participate now!

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