2017-02-13 4 views
0

hallo Jungs kann ich einfügen dieseMYSQL/PHP Datum einfügen

date_default_timezone_set(Asia/Hong_Kong); 
$date = date('"m/d/Y H:i:s"'); 

statt

"INSERT INTO date_time(`submitted_time`) VALUES (NOW())" 

, weil mein Problem mit NOW() oder CURRENT_TIMESTAMP() gibt mir eine ungenaue Zeit

im dies zu tun aber wenn ich mir die Datenbank anschaue ist das was eingefügt wurde 0000-00-00 00:00:00.0

date_default_timezone_set('Asia/Manila'); 

if(isset($_POST['submit'])) { 
    $date = date('"m/d/Y H:i:s"'); 
     $query = "INSERT INTO `date_time`(`submitted_time`) 
        VALUES('$date')"; 
     if($conn->query($query)) { 
      echo "success"; 
     } else { 
      echo "error"; 
     } 
} 
+0

ungenaue Zeit? – Akintunde007

+0

$ date = Datum ('Y-m-d H: i: s'); – Akintunde007

+0

ja bei Verwendung von NOW() oder CURRENT_TIMESTAMP() zeigt es, was seine 7 Stunden zu spät – JustAngelo

Antwort

2

Wenn Sie tatsächlich eine Datetime einfügen möchten, die Sie generieren, ist dies der Fall.

HINWEIS: Das Format eines Datums sein muss Y-m-d H:i:s als dass das Format ist MYSQL für seine Datetime-Datentyp versteht

date_default_timezone_set('Asia/Manila'); 

if(isset($_POST['submit'])) { 

    $query = "INSERT INTO `date_time` (`submitted_time`) VALUES(?)"; 
    $stmt = $conn->prepare($query); 

    // note the DateTime must be in this format to store correctly on a MYSQL database 
    $dt = date('Y-m-d H:i:s'); 

    $stmt->bind_param('s', $dt); 
    $status = $stmt->execute(); 

    if(!$status) { 
     echo $stmt->error;  
     exit; 
    } 
    echo "success"; 
} 

Wenn Sie sehen möchten, die Benutzer ein Datetime in einem anderen Format anzeigen, das ist Die Aufgabe der Präsentationsschicht, sie in das länderspezifische Format zu formatieren.

Your script was at risk of SQL Injection Attack Have a look at what happened to Little Bobby Tables Even if you are escaping inputs, its not safe! Use prepared parameterized statements

+0

bekommen diese Parse-Fehler: Syntaxfehler, unerwartete 'exit' (T_EXIT), erwartet ',' oder '; " – JustAngelo

+0

Sorry kleiner Tippfehler. Die vorhergehende Zeile benötigte einen '' '' 'echo $ stmt-> Fehler; ' – RiggsFolly

+0

Hinweis: Nur Variablen sollten als Referenz übergeben werden und dies zeigt, aber es funktioniert BTW. Vielen Dank – JustAngelo