PHP - Databasanslutning till MySQL med mysqli (prepared statement)
Hej,
har skapat en fin funktion till min kod där jag enkelt lägger till samt tar bort data från databasen.
Nu ska jag bara kunna editera som är kvar och om jag förstått detta rätt så behöver jag prepared statements till? Så jag undrar om någon kan ge mig tips på vart jag lägger den samt hur så det går snabbare att få detta klart samt så jag kan ta till mig av er.
Samt som jag förstår det rätt blir detta enklast med naturaljoin som kan länka ihop två olika tabeller.
Exempel på koden ser ni nedan:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!--
specifierar karaktärkodning för html
-->
<title>New year countdown</title>
<!--
Titel för webbsidan
-->
</head>
<style>
div {
position: relative;
left: 500px;
width: 320px;
padding: 10px;
border: 5px solid gray;
margin: 0;
}
body {background-color: powderblue;}
</style>
<body>
<div>
<?php // sqltest.php
require_once 'login.php';
$conn = new mysqli($hn, $un, $pw, $db);
if ($conn->connect_error) die($conn->connect_error);
if (isset($_POST['delete']) && isset($_POST['isbn']))
{
$isbn = get_post($conn, 'isbn');
$query = "DELETE FROM classics WHERE isbn='$isbn'";
$result = $conn->query($query);
if (!$result) echo "DELETE failed: $query<br>" . $conn->error . "<br><br>";
}
if (isset($_POST['author']) && isset($_POST['title']) && isset($_POST['category']) && isset($_POST['year']) && isset($_POST['isbn']))
{ $author = get_post($conn, 'author');
$title = get_post($conn, 'title');
$category = get_post($conn, 'category');
$year = get_post($conn, 'year');
$isbn = get_post($conn, 'isbn');
$query = "INSERT INTO classics VALUES" . "('$author', '$title', '$category', '$year', '$isbn')";
$result = $conn->query($query); if (!$result) echo "INSERT failed: $query<br>" . $conn->error . "<br><br>";
}
//
$query = "SELECT * FROM classics";
$result = $conn->query($query);
if (!$result) die ("Database access failed: " . $conn->error);
$rows = $result->num_rows;
for ($j = 0 ; $j < $rows ; ++$j)
{
$result->data_seek($j);
$row = $result->fetch_array(MYSQLI_NUM);
echo <<<_END
<pre>
Author $row[0]
Title $row[1]
Category $row[2]
Year $row[3]
ISBN $row[4]
</pre>
<form action="sqltest.php" method="post">
<input type="hidden" name="delete" value="yes">
<input type="hidden" name="isbn" value="$row[4]">
<input type="submit" value="DELETE"></form>
_END; }
//
echo <<<_END
<form action="sqltest.php" method="post">
<pre>
<input type="checkbox" name="category" value="Thriller">Thriller
<input type="checkbox" name="category" value="Romantic">Romantic
<input type="checkbox" name="category" value="Swedish">Swedish
<input type="checkbox" name="category" value="Animated">Animated
<input type="checkbox" name="category" value="Comedy" checked="checked">Comedy
<input type="text" name="title">Title
<input type="text" name="author">Author
<input type="text" name="director">Director
<input type="text" name="year">Year
<input type="text" name="isbn">ISBN
<input type="submit" value="STORE"> </pre></form>
_END;
$result->close();
$conn->close();
function get_post($conn, $var)
{ return $conn->real_escape_string($_POST[$var]); }
?>
</div>
</body>
</html>