Kom tegen iets aan waarvan ik nu echt niet meer weet wat ik fout doe. Heb al rond gesnuffeld op internet voor een oplossing, maar nog niet de goede gevonden.
Ik heb het volgende scriptje:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
//***************************************************************************
require_once '/home/website.nl/secret/misc.inc.php';
$mysqli = new mysqli(hostname, username, password, database);
$Id = mysqli_real_escape_string($mysqli,$_POST['Id']);
if(mysqli_connect_errno()){trigger_error('Fout bij verbinding: '.$mysqli->error);}
if ($mysqli->set_charset('utf8') === false) { die('failed setting charset');}
//***************************************************************************
$sql = "SELECT Id,Membernummer,Naam
FROM Member WHERE Id = '.$Id.'";
//***************************************************************************
$result = mysqli_query($mysqli, $sql);
if (mysqli_num_rows($result) > 0) {
//***************************************************************************
echo "<form action='' method='POST'>";
//***************************************************************************
while ($row = $result->fetch_assoc()) { extract($row);
//***************************************************************************
echo "member: $Membernummer $Naam";
//***************************************************************************
include("specificatietabel.inc");
}
}
else
{
echo "Niets gevonden";
echo "id=$Id";
}
//***************************************************************************
mysqli_free_result($result);
mysqli_close($mysqli);
?>
Nu krijg ik op $Id onderaan de echo juiste uitvoer: (bijvoorbeeld) 26001
Als ik in $sql rechtstreeks na Id = '26001' invoer, krijg ik de juiste uitvoer en verschijnen de gegevens van de geselecteerde member correct. Echter via de variabel $Id krijg ik niets, ofwel een weergaven van "Niets gevonden" (mysqli_num_rows($result) > 0 is blijkbaar NULL)
De variabel $Id is dus wel degelijk aanwezig en bestaat, maar in de $sql lijkt het of deze variabel niets bevat en dus ook niet de juiste gegevens ophaald uit de database.
Dacht nog dat het ligt aan het ontbreken van mysqli_real_escape_string, maar deze heb ik alsnog toegevoegd zoals jullie hierboven zien, maar zonder beter resultaat.
Het vreemde is dat als ik dit zelfde doe met $_GET, dat dit wel werkt en doet wat ik wil en verwacht.
Wie weet wat ik hier mee aan moet of wat ik fout doet?