php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.03.2006, 17:44  
winfo_cologne
Gast
 
Beiträge: n/a
Standard [MSSQL + PHP] Konflikt zwischen Datentypen / Probleme bei IN

Hallo zusammen,

es geht um MS SQL Server 2000 und PHP. Habe eine Variable ($datum), die ein Datum enthält (z.b. 01.02.2006). Der Datentyp von dieser Variablen ist natürlich "nur" eine Zeichenkette. Außerdem habe ich eine MS SQL Tabelle, mit u.a. der Spalte "datum", der ich den Datentyp "datetime" zugewiesen habe.

Jetzt möchte ich per PHP und einem passenden SQL-Statement das Datum aus der Variable $datum in die Spalte "datum" schreiben. Da ich nachher mit den Daten rechnen möchte, muss der Datentyp datetime in der Tabelle erhalten bleiben. Wie gehe ich da vor? Hat jemand einen guten Tipp für mich?

Vielen Dank im Voraus und Grüße!

winfo
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.03.2006, 17:52  
Erfahrener Benutzer
 
Registriert seit: 03.01.2006
Beiträge: 253
CC84
Standard

Ums vorweg zu nehmen ich arbeite nicht mit MSSQL aber ich denke mal, dass MS ein bestimmtes Format als String erwartet. Schau doch mal in die Doku. Vermutlich sowas DD.MM.YY hh:mm:ss oder so ähnlich.
Ich denke du hast dir was dabei gedacht, dass du datetime und nicht date verwendest, dann solltest du dir überlegen, was du als Standard Zeit nimmst, wenn es nur aufs Datum abkommt.
CC84 ist offline  
Alt 28.03.2006, 20:10  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

CC84 hat Recht, DATE sollte dann reichen, sonst hast du einen
Zeit-Overhead, der unnötig ist. Übrigens kenne ich MSSQL auch nicht

Unrecht hat er wohl aber, denn das Format wird vermutlich YYYY-MM-DD
sein, sonst würde die Sortierung ja garnicht funktionieren (das Größte
muss am Anfang stehen: Jahr, Monat, Tag) Zuerst nach Tag, Monat und
dann nach Jahr sortieren macht ja offensichtlich keinen Sinn.

Du kannst das Datum so umwandeln, die Weitergabe an MSSQL ist dann
dein Part:
PHP-Code:
<?php
$dateDE 
'28.3.2006'// deutsches Format
list ($day$month$year) = explode('.'$dateDE3);
$dateEN "$year-$month-$day"// internationales Format
?>
Diesen String solltest du jetzt ohne Problem ins MSSQL Feld DATE oder
DATETIME einfügen können. Zumindest MySQL ist so clever, die fehlende
führende 0 bei der deutschen Monatsangabe zu tolerieren.
Zergling-new ist offline  
Alt 29.03.2006, 14:05  
winfo_cologne
Gast
 
Beiträge: n/a
Standard

Problem gelöst! Vielen Dank an euch alle!!

Gruß,
winfo
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Konflikt zwischen Sessions? PHP-Fortgeschrittene 5 15.11.2004 09:37
Vermutlicher Konflikt zwischen Version 4.3.1 und 4.3.4? PHP Tipps 2004 1 15.06.2004 03:08

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
per php null in ms sql schreiben, php datentypen datum, mssql datentypen, datentyp datum in php?, php mssql_query \dd mm yy\, mssql datum in string, php mssql datentypen, datum datentyp php, php mssql \datum schreiben\, php mssql date, mssql führende null anfügen, nur datum ohne zeit in mssql schreiben php, php datentyp datum, mssql datum einfügen, datentyp php mssql, mssql datum führende null, php datentyp date einfügen, datum mssql zu datum mysql

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:26 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.