121 lines
3.4 KiB
PHP
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>
|