Ich arbeite an einem Pastebin Klon Art von etwas (von Grund auf, Klonen pastebin nicht wörtlich, nur eine Alternative) und ich habe ein Problem beim Einfügen von Zeit in die Datenbank.Zeit in MySQL-Datenbank mit PDO einfügen
<?php
require 'connection.php';
$paste = $_POST['paste'];
$title = $_POST['title'];
//$sql = "INSERT INTO pasteinfo (title, paste) VALUES (:title, :paste)";
$stmt = $con->prepare("INSERT INTO pasteinfo (title, paste) VALUES (:title, :paste)");
echo "hi";
$stmt->bindParam(':paste', $paste);
$stmt->bindParam(':title', $title);
$stmt->execute();
echo "Pasted!";
$pastetime = new DateTime();
$timeQuery = $con->prepare("INSERT INTO pasteinfo (pastetime) VALUES (:pastetime)");
$time->bindParam(':pastetime', $pastetime);
$con->exec($timeQuery);
//$con = null;
?>
Das ist also insert.php. Ich hoffe, dass, wenn ein Benutzer ihre Paste "pastet", es Zeit aufzeichnen wird, und dann auf meiner viewpaste.php es den Titel anzeigen wird, Paste und Zeit, die die Paste gemacht wurde.
Was ist los damit?
Übrigens ignorieren Sie einfach das kleine Echo "Hallo"; hineingeworfen. Es hat mir geholfen, Fehler zu beheben und tut dies auch weiterhin.
connection.php Quelle:
<?php
try {
$con = new PDO('mysql:host=;dbname=;charset=utf8mb4','','');
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$con->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
}
catch (PDOException $ex){
echo $ex->getMessage();return false;
}
function retrieve($query,$input) {
global $con;
$stmt = $con->prepare($query);
$stmt->execute($input);
$stmt->setFetchMode(PDO::FETCH_OBJ);
return $stmt;
}
@Drew:
<?php
require 'connection.php';
$paste = $_POST['paste'];
$title = $_POST['title'];
$timeQuery = "SELECT NOW()";
//$sql = "INSERT INTO pasteinfo (title, paste) VALUES (:title, :paste)";
$stmt = $con->prepare("INSERT INTO pasteinfo (title, paste, pastetime) VALUES (:title, :paste, :pastetime)");
echo "hi";
$stmt->bindParam(':paste', $paste);
$stmt->bindParam(':title', $title);
$stmt->bindParam(':pastetime', $timeQuery);
$stmt->execute();
echo "Pasted!";
//$timeQuery = $con->prepare("INSERT pasteinfo(pastetime) SELECT NOW()");
//$timeQuery->execute();
//$con = null;
?>
warum würden Sie nicht nur tun 'wählen jetzt()' 'vs VALUES (: pastetime)'? Auch der mögliche Zweck ist die Tabelle 'pasteinfo', die mit keinen anderen Spalten nutzlos erscheint. – Drew
Wenn der Datentyp datetime ist, können Sie das Datum (" Ymd h: i: s ") für das Datum – vishwakarma09
@Drew verwenden jetzt(). Funktioniert es mit dem DateTime-Format? –