2
0
Files

121 lines
3.4 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PDO >> TEST <<</title>
</head>
<body>
<?php
// pdo_test.php
// holt sich den code aus der datei
require_once "inc/db_connection_function.php";
// etsablish db connect
// verbindet sich mit der datenbank
$dbh = db_connect();
// get data from fields:
$u_firstname = $_REQUEST['firstname'];
$u_lastname = $_REQUEST['lastname'];
$u_email = $_REQUEST['email'];
// definiert den SQL befehl um
// einen Nutzer korrekt in der DB anzulegen
$addUser="INSERT INTO user VALUES(
NULL,
'$u_firstname',
'$u_lastname',
'$u_email'
)";
// Versucht code auszufügen (try{...}) wenn das fehlschlägt
// nimmt er sich den error und es wird anderer code ausgeführt
// (catch(...){...})
try {
// führe befehl aus
$dbh->exec($addUser);
// gib aus das der user erstellt wurde
echo "USER CREATED";
// kein error also null
$custErrMsg = NULL;
} catch (PDOException $e) {
// weise error nachricht var zu
$errMsg = $e->getMessage();
// weise error code var zu
$errCode = $e->getCode();
//echo "ERROR: user could not created. try again later";
//echo "<br> Error Message: $errMsg";
//echo "<br> Error-Code: $errCode";
switch ($errCode) {
case "23000": $custErrMsg = "<p>Email-Adress already exists</p>"; break;
default: $custErrMsg = "<p>Oooooops, something went wrong!</p>";
}
}
echo $custErrMsg;
// ####################################
// read records from db
// result consists of multiple rows and columns
// wähle * (alles) aus 'user' (tabelle)
$readUser = "SELECT * FROM user";
/*speicher das ergebnis in der variable,
// führe den SQL befehl aus und wandle
// das ergebnis in einen array um.
// resultReadUser = $dbh->query($readUser)->fetchAll();
$dbh->exec($readUser);
echo "<pre>";
print_r($resultReadUser);
echo "</pre>";
ODER
// speicher das ergebnis in der variable,
// führe den SQL befehl aus
*/
$resultReadUser = $dbh->query($readUser);
// gebe alles aus dem array aus
echo "ID | VORNAME | NACHNAME | MAIL<br>";
foreach($resultReadUser as $row) {
echo "$row[0] | $row[1] | $row[2] | $row[3]<br>";
}
// ---
// result consists of one row and multiple columns
// gibt eine spalte
$UserID = 1;
$getUserById = "SELECT * FROM user WHERE u_id = $UserID";
$resultGetUserById = $dbh->query($getUserById)->fetch();
echo "<pre>";
print_r($resultGetUserById);
echo "</pre>";
echo "<p>Search User ID $UserID:</p>";
if($resultGetUserById){
echo "<p>User found: {$resultGetUserById['u_firstname']} {$resultGetUserById['u_lastname']}</p>";
} else {
echo "<p>No User found</p>";
}
// ---
// result represents one cell
// gibt eine zelle zurück
$getFirstnameByUserId = "SELECT u_firstname FROM user WHERE u_id = $UserID ";
$resultFristnameByUserId = $dbh->query($getFirstnameByUserId)->fetchColumn();
echo "<p>Search Firstname of User ID $UserID:</p>";
if($resultFristnameByUserId){
echo "<p>Firstname of User found: $resultFristnameByUserId</p>";
} else {
echo "<p>No User found</p>";
}
?>
</body>
</html>