<?php
// Vul hier een rapport specifiek clausule in.
// In dit rapport gaat het om welke combinaties hebben een onderkomen in de caravan nodig
$sqlCombiWHERE = " WHERE 2010Combination.horseFEIid = '".mysqli_real_escape_string($dblink, $_GET['horseFEIid'])."'";
?>
Ik zie nog een leuke.
<?php
$numberCombination = mysqli_affected_rows($dblink);
?>
Huh? Nee. Gewoon nee. mysqli_affected_rows heeft geen enkele zin bij een SELECT query.
Je vergeet de eerste parameter voor de connection identifier
[php]mysqli_real_escape_string[/php]
Ik krijg hier geen foutmelding op??
[size=xsmall]Toevoeging op 24/07/2017 16:27:01:[/size]
Ben van Velzen op 24/07/2017 16:22:23
Ik zie nog een leuke.
<?php
$numberCombination = mysqli_affected_rows($dblink);
?>
Huh? Nee. Gewoon nee. mysqli_affected_rows heeft geen enkele zin bij een SELECT query.
Hoe weet ik dan hoeveel regels er geselecterrd zijn??
Door mysqli_num_rows te gebruiken. Je wilt niet weten hoeveel rijen er geraakt zijn door een actie, maar hoeveel er in je resultset zitten. Dit heb ik ook al in een eerder topic aangehaald.
Door mysqli_num_rows te gebruiken. Je wilt niet weten hoeveel rijen er geraakt zijn door een actie, maar hoeveel er in je resultset zitten. Dit heb ik ook al in een eerder topic aangehaald.
De manual zelf zegt:
For SELECT statements mysqli_affected_rows() works like mysqli_num_rows().
Wat de manual ervan zegt interesseert me niks. Dit hebben ze later gedaan omdat achterlijke figuren constant dezelfde fout maakten en bijhorende bugreports bleven insturen.
Gebruik functies waar ze voor bedoeld zijn, en dit kun je zien aan de naam van de functie.
Wat de manual ervan zegt interesseert me niks. Dit hebben ze later gedaan omdat achterlijke figuren constant dezelfde fout maakten en bijhorende bugreports bleven insturen.
Het is duidelijk dat je geen weet hebt van de internals van MySQL ;-)
mysqli_num_rows werkt op een result-object, terwijl mysqli_affected_rows een niveau hoger zit, op het mysql-object. Wanneer je een SELECT-statement uitvoert, is na het uitvoeren van de query niet bekend hoeveel rows de query teruggeeft; daarvoor moeten eerst de resultaten worden opgehaald (resultmode MYSQLI_STORE_RESULT, wat de default is). Wanneer je query de resultmode MYSQLI_USE_RESULT gebruikt, zal mysqli_num_rows ook pas het juiste aantal rows bevatten wanneer het laatste record is gefetcht.
Eigenlijk zou je mysqli_num_rows een gemankeerde variant van mysqli_affected_rows kunnen noemen, aangezien hij alleen werkt op queries die een resultset genereren. mysqli_affected_rows werkt op zowel select-queries als non-select-queries.