PHP und MySQL

Petrow

Grünschnabel
Hallo,

1. Wie kann ein bei MySQL bei einem Insert ein SYSDATE setzen für ein Feld mit dem Datentyp DATETIME ?

2. Wie kann ich überprüfen, ob ein Insert in eine Datenbank erfolgreich durchgeführt wurde ?

3. Wie kann ich den Inhalt einer Spalte vom Datentyp TEXT in einem PHP-Script auslesen und ausgeben, bekomme da immer nur eine leere Spalte, bei VARCHAR gehts ?

4. Brauche einen Datentype der mehr als 255-Zeichen aufnehmen kann, habe ich mit TEXT die richtige Wahl getroffen?

Diese Fragen hindern mich am Weiterkommen meiner Arbeit, ich hoffe ihr wisst eine Lösung, danke.
 
Also zu 1.)

Weiß nicht ganz was du mit systime meinst, aber wenn du die aktuelle Zeit in der DB speichern willst geht das so:
Du musst als erstes beachten das die DATETIME das Format YYYY-MM-DD-HH-MM-SS
aber du musst da nochmal nahgucken. Also holst du dir die Zeit in php über:
date("Formatierung"); so bekommst du die aktuelle Zeit nach deiner gewünschten
Formatierung zurück.

2.)in dem du ein or die hinter deine Funktion mysql_query() anfügst:
mysql_query($query) or die("Fehler beim Handshake");

3.)Den Datentyp TEXT solltest du eigentlich ganz normal in einen String einlesen können.

4.) Zusätzlich gibt es noch den Datentyp Longetext, falls du auf Nummer sicher gehen willst...

Gruß

RedWing
 
2)
Code:
if (mysql_query("INSERT INTO...")) {
    // INSERT erfolgreich.
}

3) Genauso wie VARCHAR, der Fehler muss irgendwo anders liegen
4) Ja, hast du. :)
 
1 Die Funktionen NOW(), SYSDATE() als auch CURRENT_TIMESTAMP geben das aktuelle Datum und die aktuelle Zeit als einen Wert im 'YYYY-MM-DD HH:MM:SS'- oder YYYYMMDDHHMMSS-Format zurück. DATETIME unterstützt einen Wertebereich von '1000-01-01 00:00:00' bis '9999-12-31 23:59:59'. Somit sollte ein einfacher INSERT-Ausdruck folgender Syntax funktionieren:

  INSERT INTO
        `tabelle`
    VALUES (
      NOW()
    )
  ;


Referenzen:
 ›› MySQL Manual | 7.2.2.2 Die DATETIME-, DATE- und TIMESTAMP-Typen
 ›› MySQL Manual | 7.3.4 Datums- und Zeit-Funktionen


2 Versuch Abfragen es nach folgender Syntax:

  $query = "...";
  if( mysql_query($query) ) {
    //Abfrage erfolgreich
  }



3 Abfragen der Spaltentypen TEXT verhalten sich wie Abfragen eines Spaltentyps VARCHAR.
Möglicherweise ist die Abfrage falsch, oder die die Spalte ist tatsächlich leer.
Du könntest dir das MySQL-Datenbankserver Administrationsprogramm MySQL Control Center herunterladen:
 ›› MySQL® Control Center


4 Lies dir mal folgende Seiten des MySLQ-Handbuches durch:
 ›› MySQL Manual | 7.2.3 Zeichenketten-Typen
 ›› 
 
Zurück