php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.11.2009, 20:11  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard mysql klassen query funktioniert nicht

Hallo Leute,

ich bin grad dabei mir ein Mysql DB Handling zu schreiben. Dazu lager ich die Verbindung zur Datenbank und das Query Handling in extra Klassen aus.

Ich teste das auf meinen localen Server. Ich habe eine conf.php da stehen die Verbindungsvariablen drin. Dann eine Klasse zum verbinden zur Datenbank.

mysql_connect_class.php
PHP-Code:
<?php
/*
*
* mysql verbindungsklasse
*
*/
class MysqlConnect{
 
 private 
$connect_db;
 private 
$close_mysql;
 
 
/*
 *
 * constructor
 *
 */
 
public function __construct($sqlhost,$sqluser,$sqlpw,$sqldb){
  
  
$this->connect_db mysql_connect($sqlhost,$sqluser,$sqlpw);
  
  if(!
$this->connect_db){
   
   die(
mysql_error().'keine verbindung zur DB'.$this->connect_db); 
  }
  
  
mysql_select_db($sqldb,$this->connect_db)or die(mysql_error().'keine db gefunden');
 }
 
 
/*
 *
 * datenbank sitzungs vorgang wieder beenden
 *
 */
 
public function MysqlClose(){
  
  
$this->close_mysql mysql_close();
  
  return 
$this->close_mysql;
 }
}
?>
Die Klasse funktioniert auch wie sie soll, habe ich getestet, eine Verbindung wurde erfolgreich hergestellt.

Dann hier die Klasse für den Query.

mysql_query_class.php
PHP-Code:
<?php
/*
*
* klasse für das ausführen eines mysql querys
*
*/
class MysqlQuery{
 
 protected 
$sql_query;
 
 
/*
 *
 * initialisisiren der query variablen
 *
 */
 
public function __construct(){
  
  
$this->sql_query $sql_query;
 }
 
 
/*
 *
 * erstellen des query aufbaus
 *
 */
 
public function Query(){
  
  
$this->sql_query mysql_query($query_var);
  
  if(!
$this->sql_query){
   
   die(
mysql_error().'Fehler beim ausführen des Mysql Querys!'.$query_var);
  }
  else{
   
   return 
$this->sql_query;
  }
 }
}
?>
Und da hapert es irgendwo, denn es wird mir die Fehlermeldung ausgegeben das ein Queryfehler auftritt, aber das seltsame ist, das der query_string nicht mit in der Fehlermeldung aufgeführt wird, das heist für mich das da nichts ankommt.

Hier wie ich beides einsetze zum testen.

index.php
PHP-Code:
<?php
require_once('conf.php'); //darin stehen die DB verbindungsvariablen
require_once('mysql_connect_class.php');
require_once(
'mysql_query_class.php');
/*
*
* klassen aufrufen
*
*/
$mysql_con = new MysqlConnect($sqlhost,$sqluser,$sqlpw '',$sqldb);
$mysql_query = new MysqlQuery();
//prüfung ob eine verbindung zu mysql aufgebaut werden konnte
//!!! Erfolgreich !!!
/*if(!$mysql_con){
 
 echo 'keine DB Verbindung!';
}
else{
 
 echo 'DB Verbindung erfolgreich!';
}*/
 
 
$query_string ="
     Insert Into test_1
       (
        name,
        bemerkung
       )
     VALUES
       (
        'Daniel',
        'Der testet grad mal eben eine Mysql DB Klasse'
       )
     "
;
 
 
//query aus query class probieren
 
$mysql_query->Query($query_string);
?>
Meine Frage nun, warum funktioniert der Query nicht. Denn ein Parameter muss doch da übergeben werden. Was läuft da falsch?

Ich weis man kann das alles ganz anders machen, mir gehts darum warum das was ich da mache nicht geht, das leuchtet mir nicht ein.

Danke für eure Hilfe Mfg litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 11.11.2009, 20:15  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Hi,

deine Funktion
Code:
public function Query(){
erwartet doch gar keinen Parameter!

Folglich kannst du $query_var nicht einfach aus dem Nichts abrufen, sondern müsstest zumindest PHP: func_get_args - Manual verwenden.

Dein Konstruktor ist auch etwas missraten, da solltest du nochmal schauen!
Asipak ist offline  
Alt 11.11.2009, 20:20  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Asipak Beitrag anzeigen
Hi,

deine Funktion
Code:
public function Query(){
erwartet doch gar keinen Parameter!

Folglich kannst du $query_var nicht einfach aus dem Nichts abrufen, sondern müsstest zumindest PHP: func_get_args - Manual verwenden.

Dein Konstruktor ist auch etwas missraten, da solltest du nochmal schauen!
Danke dir, da habe ich den Paramter an de falschen Stelle übergeben zumindest an der richtigen Stelle vergessen. Danke nun geht es wie es soll.


Mfg litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 11.11.2009, 20:22  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Schraub mal dein error_reporting rauf, dann bemerkst du solche Fehler doch sofort
Asipak ist offline  
Alt 11.11.2009, 20:27  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Asipak Beitrag anzeigen
Schraub mal dein error_reporting rauf, dann bemerkst du solche Fehler doch sofort
Weiste was mein guter, ich absolutes Vollhorn, genau das habe ich vergessen, man eh das mache ich sonst immer, aber hier habe ich das vergessen.

Sorry.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 11.11.2009, 20:29  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

@litter was ich nicht so ganz verstehe:
warum hast Du die klassen überhaupt erzeugt, sie bringen Dir IMHO keinen Vorteil...
HPR1974 ist offline  
Alt 11.11.2009, 20:35  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von HPR1974 Beitrag anzeigen
@litter was ich nicht so ganz verstehe:
warum hast Du die klassen überhaupt erzeugt, sie bringen Dir IMHO keinen Vorteil...
Warum nicht? Eine kleine Erklärung wäre net schlecht, bin noch nicht wirklich bewandert in der OOP.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 11.11.2009, 20:43  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

Naja Du bildest einfach prozedurale mysql_ funktionen ab. ich erkenne da keinen mehrwert. Zudem die Objekte nicht ausdefiniert sind
MysqlQuery::Query() gibt was genau zurück (bei insert, select, update, delete)?
Nebenbei bemerkt gibt es kein exception handling...
HPR1974 ist offline  
Alt 11.11.2009, 20:50  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

/BREAK/

Zitat:
genau das habe ich vergessen, man eh das mache ich sonst immer
Machs nur einmal. Dafür aber in der php.ini Deiner lokalen Entwicklungsumgebung
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 11.11.2009, 21:05  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von HPR1974 Beitrag anzeigen
Naja Du bildest einfach prozedurale mysql_ funktionen ab. ich erkenne da keinen mehrwert. Zudem die Objekte nicht ausdefiniert sind
MysqlQuery::Query() gibt was genau zurück (bei insert, select, update, delete)?
Nebenbei bemerkt gibt es kein exception handling...
Was meinst du damit die Objekte sind nicht ausdefiniert?

Naja was die Mysql Verbindungssachen angeht, ist mir das, dass einzig bekannte. Von exceptionhandling habe ich keine Ahnung, noch nicht. Wie sollte man denn in einer Klasse, die Funktionen sonst abbilden, ich stehe da grad im dunkeln.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
 


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
[Erledigt] Query funktioniert nur in PHPMyAdmin verdemis Datenbanken 2 25.01.2009 22:33
[Erledigt] Query funktioniert nur in phpmyadmin, nicht aber in php webproger Datenbanken 2 08.12.2008 16:08
[Erledigt] Query mit JOIN funktioniert in PHP nicht (bei mir...) b_i_g_b_o Datenbanken 2 27.11.2008 22:54
MySQL Query zum Ersetzen von sonderbaren Umlauten Carino Datenbanken 13 14.05.2007 18:08
tutorial mysql klassen im oop projekt phpdummi Beitragsarchiv 4 17.01.2007 20:17
Wieso funktioniert mein MySQL nicht mehr ? Skazi Datenbanken 1 09.11.2005 14:49
Lost connection to MySQL server during query in ... ? Alpha Centauri Datenbanken 0 24.10.2005 11:09
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
Lost connection to MySQL server during query bicpi PHP-Fortgeschrittene 17 02.08.2005 11:42
Datumssortierung funktioniert bei MySQL nicht richtig PHP Tipps 2005 2 01.04.2005 14:00
mysql query... alle datensäze älter als x tage löschen... Sclot Datenbanken 2 05.03.2005 23:04
mysql query fehler Datenbanken 6 19.01.2005 23:44
mysql update query mit mehreren Tabellen funktioniert nicht PHP-Fortgeschrittene 5 08.01.2005 16:29
Problem: MySQL Query funktioniert nicht. Wieso? PHP Tipps 2004-2 3 24.12.2004 13:58
mysql Fehler - query was empty Anuschka Datenbanken 2 01.09.2004 00:28

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datenbank klasse query, fehler beim ausführen des querly bei webcal, webcalendar fehler beim ausführen des query, mysql query error handling, quey verbindung funktioniert nicht, \fehler beim ausführen des query \, fehler beim ausführen des query, php klasse query, query nicht erfolgreich., php mysql query klasse, public function query, php mysql in klasse geht nicht, php class constructor mysql, webcalendar/function.sqlite-query, query class php, php query geht nicht, php query in klasse, php query funktioniert nicht, query php funktioniert nicht, \query klasse\ php5

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