Ich bin neu in PHP und versuchen, OOP PHP zu lernen.Einfügen von Daten in MySQL mit OOP PHP und PDO
Ich erstelle ein Registrierungsformular (ein einfaches), um OOP PHP zu lernen, wenn ich Daten sende, wird die Erfolgsmeldung angezeigt, aber die Daten werden nicht in die Datenbank eingefügt.
Unten ist mein Code:
connection.php
<?php
class DBConnection extends PDO
{
public function __construct()
{
$host='mysql:host=localhost;dbname=OOP';
$user='root';
$password='';
parent::__construct($host,$user,$password);
$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// always disable emulated prepared statement when using the MySQL driver
$this->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
}
}
?>
Index.php
<?php
session_start();
/*include 'classes.php';
//$dbHandle = new DBConnection();
$ins=new basic_operation();
$ins->Insert_Data();*/
?>
<div class="col-lg-12">
<div class="col-lg-1"></div>
<div class="col-lg-7">
<form action="user_data.php" method="post" >
<input type="text" name="username" id="username" class="form-control"><br>
<input type="email" name="email" id="email" class="form-control"><br>
<input type="password" name="password" class="form-control" id="password"><br>
<input type="submit" name="submit" id="submit" value="submit">
</form>
</div>
</div>
<div>
<?php if (isset($_SESSION['insert']))
{
echo $_SESSION['insert'];
unset($_SESSION['insert']);
}
?></div>
</div>
</div>
User_data.php
<?php
session_start();
include 'classes.php';
$insert=new basic_operation();
$usr=$insert->Insert_Data();
//return $insert;
$_SESSION['insert']='data inserted successfuly';
header('location:index.php');
?>
Classes.php
<?php
include 'connection.php';
class basic_operation
{
public function Insert_Data()
{
if (isset($_POST['submit'])) {
$user = $_POST['username'];
$email = $_POST['email'];
$pass = $_POST['password'];
$smt = new DBConnection();
$qry = $smt->prepare("insert into student(User_Name,Email,Password) VALUES ('" . $user . "','" . $email . "','" . $pass . "')");
$qry->execute();
}
}
}
?>
Wenn jemand weiß, wie grundlegende CRUD ausführen (Einfügen, Aktualisieren, Löschen auswählen) Betrieb in PHP OOP PHP und PDO Dann geben Sie bitte den Link, Quelle Beispiel, so kann ich daraus lernen
Ich suchte im Internet, aber Bärly in der Lage, den Verbindungscode zu finden ... Auf der Suche nach einer beschreibenden Antwort, wie ich denke, diese Frage wird auch eine Menge Leute helfen, die versuchen/möchte OOP PHP lernen.
Jede Hilfe wird geschätzt.
Der beste Platz ist natürlich zu starten [Die PHP Manual] (http://php.net/manual/en/book.pdo.php) – RiggsFolly
Sie haben Der Sinn, PDO zu setzen, um 'PDO :: ERRMODE_EXCEPTION' zu verwenden, aber Sie benutzen' try/catch' Blöcke nicht, um irgendwelche geworfenen Ausnahmen zu fangen und Sie werden deshalb nicht angezeigt und Fehler, die passieren – RiggsFolly
Haben Sie den ganzen Code selbst geschrieben? Wenn nein, dann würde ich empfehlen, alles von Grund auf neu zu starten oder die Struktur des Codes zu verstehen. Im obigen Code sind Eingaben nicht gebunden und sie sind direkt eingefügt (Risiko der MySQL-Injektion) sowie die Funktion "InsertData()" ist spezifisch für den gleichen Datentyp. Wenn Sie es wünschen, würde ich einen Code in meinem eigenen Stil umschreiben. – Rehmat