Ich habe das Gefühl, dass ich einen Syntaxfehler meinerseits gemacht habe. Gibt es noch etwas anderes als einen Syntaxfehler oder das Vergessen, eine Variable zu definieren, die das verursachen würde?PDO/PHP Nicht definierte Variablen
Hinweis: Ich erhalte jetzt einen Fehler, der besagt, dass es ein erwartet; auf der Linie, die enthält if ($query->execute(array($user_name))) {
if (isset($_GET['username'])){
$user_name = $_GET['user_name'];
$dbh = connectDb();
$query = $dbh->prepare("SELECT * FROM users WHERE user_name = ?");
if ($query->execute(array($user_name))) {
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
$email = $row['user_email'];
$admin = $row['user_access_level'];
$dbusername = $row['user_name'];
}
}
if ($user_name != $dbusername) {
echo "There has been a fatal error. Please try again.";
}
} else echo "you need to specify a username!";
?>
<center><h2><?php echo $dbusername; ?>'s Profile</h2><br /></center>
<table width="350" border="3" align="center" cellpadding="0" cellspacing="1" bgcolor="#000000">
<tr><td>Username:</td><td><?php echo $user_name; ?></td></tr>
<tr><td>User Level:</td><td><?php echo $userlvl; ?></td></tr>
<tr><td>Email:</td><td><?php echo $email; ?></td></tr>
</table>
Nur ein kleiner Hinweis, es sei denn, Sie 'query' Methode in Ihrem Datenbank-Code bereinigt Strings vor dem Ausführen einer Abfrage, Ihre Website ist anfällig für SQL-Injektionen. –
'$ dbh-> query (" SELECT * FROM Benutzer WHERE user_name = $ user_name ", PDO :: FETCH_ASSOC)' gibt Ihnen eine Instanz von PDOStatement, kein Array. Siehe http://php.net/manual/en/pdo.query.php – Tekay37