php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.12.2010, 12:35  
Neuer Benutzer
 
Registriert seit: 05.12.2010
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
Steve.DE befindet sich auf einem aufstrebenden Ast
Standard Beibehalten von Kommentaren in MySQL-Prozeduren

Hallo Forum,

ich sehe mich nicht in der Lage mit PHP einen MySQL-Befehl abzusetzen, bei dem Kommentare innerhalb einer MySQL-Prozedur erhalten bleiben.

Hintergrund: Wenn man den MySQL-Query "CREATE PROCEDURE" absetzt, kann der folgende Code u.a. Kommentare enthalten. Dabei werden einzeilige Kommentare mit einem vorangestellten #-Zeichen gekennzeichnet. Solche Kommentare werden vom MySQL-Client aber normaler Weise vor der Übermittlung an den Server entfernt (vermutlich aus Performance-Gruenden).

Seit MySQL 5.0.52 gibt es einen Kommandozeilenparameter, der das Entfernen von Kommentaren vor der Übermittlung abschaltet. Dieser Parameter lautet "--comments" (vgl. http://dev.mysql.com/doc/refman/5.0/...d-options.html ).

Wenn ich den "CREATE PROCEDURE"-Query per MySQL-Prompt übermittle und natuerlich den MySQL-Prompt mit dem o.g. Parameter "--comments" starte, bleiben alle Kommentare erhalten - Das will ich auch unter PHP.

Eine solche Option ("--comments") finde ich nicht unter PHP.
Wo muss ich den Parameter "--comments" ansetzen?
Gibt es eine undokumentierte Einstellung in der "php.ini"?
Benoetige ich eine speziell kompilierte "libmysql"?
Oder kann man dieses MySQL-Client-Verhalten im PHP-Code selbst steuern?

Mein Ziel ist es, dass mein phpMyAdmin kuenftig in der Lage ist Kommentare beizubehalten, wenn ich eine "stored Procedure" aendere.
Steve.DE ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 05.12.2010, 12:54  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Steve.DE Beitrag anzeigen
Wo muss ich den Parameter "--comments" ansetzen?
Steht doch auf der von dir selber verlinkten Seite:
Zitat:
mysql supports the following options, which can be specified on the command line or in the [mysql] and [client] option file groups.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 05.12.2010, 13:47  
Neuer Benutzer
 
Registriert seit: 05.12.2010
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
Steve.DE befindet sich auf einem aufstrebenden Ast
Standard

Ja, ich kann "--comments" als Parameter der "mysql.exe" verwenden. Ist schon klar - Das habe ich ja auch erfolgreich probiert.
Man kann die gesamte Parameter-Liste auch in einer "my.ini" verwenden, damit beim Starten der MySQL-Kommandozeile direkt gewisse Standard-Parameter greifen.

Aber wie sieht's aus, wenn PHP den MySQL-Client startet (mittels "libMySQL")?
Da greift doch keine "my.ini"? Bzw.: wo muesste diese liegen, damit PHP diese INI-Datei nutzt?



Aber ich muss mich bzgl. des beschriebenen Fehlerbildes noch korrigieren. Ich habe folgenden PHP-TestCode probiert:

PHP-Code:
<?php
    $db 
mysql_connect("localhost""root""MyPass");
    
mysql_select_db("test"$db);

    
mysql_query("DROP PROCEDURE IF EXISTS TestProc;"$db);

    
$query "CREATE PROCEDURE TestProc()\n";
    
$query.= "BEGIN\n";
    
$query.= "  SELECT 'test';\n";
    
$query.= "  #Mein Kommentar;\n";
    
$query.= "END\n";
    
mysql_query($query$db);
    
    
$result mysql_query("SHOW CREATE PROCEDURE TestProc;"$db);
    
$row mysql_fetch_assoc($result);
    echo 
"<pre>{$row["Create Procedure"]}</pre>\n";
    
    
mysql_close($db);
?>

Die Ausgabe von $row["Create Procedure"] zeigt, dass die MySQL-Implementation in PHP tatsaechlich den Kommentar uebermittelt, da die Abfrage diesen Kommentar wiedergibt.

Mein Problem scheint da eher im phpMyAdmin zu liegen: Wenn ich den gleichen Query im phpMyAdmin absetze, sind die Kommentare futsch (also das Pruefergebnis des "SHOW CREATE PROCUDERE" enthaelt keine Kommentare mehr).

Verwendet Ihr auch den phpMyAdmin und hat jemand eine Ahnung, wie man dieses Verhalten aendert?



(Im Uebrigen bleibt fuer mich trotzdem die Frage, wo ich die MySQL-Parameter-Liste unter PHP beeinflussen kann. Sagen wir doch einfach, dass ich den Parameter "--skip-comments" in PHP verwenden will, damit meine Kommentare aus dem o.g. PHP-Beispiel-Code gefiltert wuerden)
Steve.DE ist offline   Mit Zitat antworten
Alt 05.12.2010, 14:02  
Neuer Benutzer
 
Registriert seit: 05.12.2010
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
Steve.DE befindet sich auf einem aufstrebenden Ast
Standard

Oh mein Gott ... Ich konnte das phpMyAdmin-Problem loesen. Es war ein einfacher Bug, der inzwischen behoben wurde:
http://sourceforge.net/tracker/index...67&atid=377408

Nachdem ich den phpMyAdmin aktualisiert habe, gehen meine Kommentare nicht mehr verloren - Sorry fuer das Chaos.



Allerdings bleibt fuer mich trotzdem die Frage, wie ich die verlinkte MySQL-Parameterliste unter PHP anwenden kann ... ?
Wenn ich nun doch aus Performance-Gruenden will, dass Kommentare erst gar nicht an den MySQL-Server uebermittelt werden, muesste ich den Parameter "--skip-comments" angeben ... Aber wo?
Steve.DE 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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mysql funktioniert nicht (Erweiterung nicht erkannt!?) pfump Server, Hosting und Workstations 10 17.03.2012 11:07
MySQL Datentransfer (Dateigroesse 4MB) via Shell Zugang oder einfacher promoterlv Datenbanken 1 14.11.2010 22:12
[Erledigt] PHP bekommt keine Verbindung zu MySQL SaKe Datenbanken 15 20.09.2010 14:45
Mysql fehler bei externen Zugriff SteiniKeule Datenbanken 4 18.06.2010 12:54
PDO MySQL abfrage funktioniert nicht Bloodydead PHP Tipps 2010 8 18.06.2010 11:08
MySQL Prozeduren mit Rückgabewert als PDO spaceship Datenbanken 9 20.04.2010 08:24
[Erledigt] MySQL - ERROR 1044 bei erstellen einer Datenbank _youngenterpriser_ Datenbanken 2 05.02.2008 17:56
MySQL in PHP integrieren (Windows 2003 Server ohne Apache) Plague Server, Hosting und Workstations 3 30.08.2007 21:56
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
[Erledigt] not allowed to connect to this MySQL server PHP Tipps 2005-2 2 23.09.2005 18:34
MySQL &amp;amp; PHP: Problem mit Password() Datenbanken 10 19.09.2005 11:00
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
MYSQL läuft nur wenn /tmp auf 777 Datenbanken 5 06.07.2005 08:38
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql prozeduren, mysql procedure kommentar, mysql ini prozedur, phpmyadmin prozedur parameter, mysql prozedur kommentar, mysql befehle für prozeduren, kommentare in stored procedures erhalten, php mysql kommentar, mysql prozeduren in php, mysql parameter, phpmyadmin option create procedure / function, mysql kommentar, mysql procedures php, mysql procedur kommentar, anmerkungen in mysql code, mysql create procedure per libmysql, prozedur ohne rückgabewert mysql, php mysql prozeduren, mysql

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