php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.04.2008, 15:41  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard mysql_write_object()

Hallo Leute,

gibt es eine Funktion in der ich ein Objekt was ich vorher mit mysql_fetch_object geholt habe auch wieder zurück in die DB schreiben kann?

Gruß
Cy
cycap ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.04.2008, 16:20  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Mir wäre nichts bekannt, aber eine rudimntäre Funktion ist einfach zu erstellen:
PHP-Code:
<?php
function insert_object($table$obj){
    
$fields implode(', 'array_keys(get_object_vars($obj)));
    
$values implode("', '"array_values(get_object_vars($obj)));
    
    
$sql "    
        INSERT INTO $table ($fields)
        VALUES('$values')"
;
    return 
mysql_query($sql);
}
?>
Funktioniert natürlich nur mit Objekten aus einer Single-Tabellen-Abfrage und hat den Nachteil, dass überflüssigerweise auch nummerische Werte in Hochkommas geschrieben werden.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 10.04.2008, 16:29  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Funktioniert so auch nicht mit NULL oder? Da müsste man sich schon mehr gedanken machen glaub ich...
cycap ist offline   Mit Zitat antworten
Alt 10.04.2008, 16:38  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von cycap
Funktioniert so auch nicht mit NULL oder? Da müsste man sich schon mehr gedanken machen glaub ich...
Da hast du natürlich recht, war auch nur so rasch aus dem Ärmel geschüttelt. Sollte aber trotzem nicht allzu schwierig sein.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 10.04.2008, 17:02  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Ja wenns sowas nicht gibt muss man das wohl selber schreiben, aber gerade bei Multi-Tabellen-Abfragen wird das ganze erst interessant.

Ich komme darauf weil der Kollege neben mir mit seiner VBA-Programmierung genau so eine vorgehensweise hat. Er läd sich nen recordset in den speicher, bastelt da dann nach lust uns laune drin rum und sagt dann nur noch sowas wie update() und die sache ist gegessen. Sowas will ich auch
cycap ist offline   Mit Zitat antworten
Alt 10.04.2008, 17:41  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

CRUD, schau dir mal QCodo oder Propel an. Seit wir in der Firma QCodo benutzen schreib ich nurnoch sehr wenig SQL Statements. Ich brauch nurnoch die Objekte zu fuellen und mit $objXY->Save() zu speichern. Relationen werden automatisch erkannt, kannst also mit
PHP-Code:
<?
$objProduct 
Product::Load(1);
echo 
$objProduct->Category->Name;
?>
durch die Datenbank-Verknuepfungen "laufen" (sofern du sie in der innoDB oder einem Config-File definiert hast).
Zergling-new ist offline   Mit Zitat antworten
Antwort


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

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql_write_object

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:27 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.