Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 08:52

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



MySQL Verbindungsprobleme über OOP

Discussion on MySQL Verbindungsprobleme über OOP within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Mar 2011
Posts: 519
Received Thanks: 116
MySQL Verbindungsprobleme über OOP

Hallo allerseits,
ich habe Probleme mit meinem Projekt und zwar möchte ich in OOP etwas größeres und komplexeres Programmieren. Derzeit bin ich aber noch am Dazulernen, wenn ihr gute Seiten darüber habt könnt ihr sie gerne posten(bekommt 10 Thanks ).

Hier ist der Code, es wird nichts angezeigt(Problemzone While-Schleife).
Ohne While Schleife bekomme ich meine Ergebnisse.
PHP Code:
<?php

/**
*
* Database Connect
*
**/

$host         "localhost";
$user         "root";
$password     "";
$database     "database";
$table        "post";

class 
MySQL
{
    public  
$connection FALSE;
    private 
$host;
    private 
$user;
    private 
$password;
    private 
$database;
    
    function 
connectDB($host,$user,$password)
    {
        
$this->connect mysql_connect(
            
$host,
            
$user,
            
$password
            

                or die (
mysql_error());
    }
    
    function 
selectDB($database)
    {
        
mysql_select_db($database)
            or die (
mysql_error());
    }
    
    function 
fetchRow($table)
    {
        
$query mysql_query("SELECT * FROM $table"
            or die (
mysql_error());
        while(
$row mysql_fetch_assoc($query))
        {
            
$id $row['id'];
            
$content $row['content'];
        }
    }
}

$MySQL = new MySQL;
$MySQL->connectDB($host,$user,$password);
$MySQL->selectDB($database);
$MySQL->fetchRow(post);

echo 
$id;
echo 
$content;

?>
LostHope. is offline  
Old 04/09/2011, 12:43   #2
 
banjo1's Avatar
 
elite*gold: 1371
Join Date: Dec 2007
Posts: 14,903
Received Thanks: 19,354
Beschäftige dich mal mit dem Gültigkeitsbereich von Variablen (local, global).

PHP Code:
    function fetchRow($table)
    {
        
$query mysql_query("SELECT * FROM $table"
            or die (
mysql_error());
        while(
$row mysql_fetch_assoc($query))
        {
            
$id $row['id']; //nur in deiner function gültig, $id wird bei jedem Durchlauf überschrieben
            
$content $row['content']; //nur in deiner function gültig, $id wird bei jedem Durchlauf überschrieben
        
}
    } 
Quick-and-dirty:
PHP Code:
    function fetchRow($table)
    {
        
$query mysql_query("SELECT * FROM $table"
            or die (
mysql_error());
        while(
$row mysql_fetch_assoc($query))
        {
            global 
$id$content;    
            
$id $row['id']; //global gültig, $id wird bei jedem Durchlauf überschrieben
            
$content $row['content']; //global gültig, $id wird bei jedem Durchlauf überschrieben
        
}
    } 
banjo1 is offline  
Old 04/10/2011, 16:34   #3
 
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
Code:
        while($row = mysql_fetch_assoc($query))
ist auch noch falsch, = ist in php kein Vergleichsoperator sondern wird für Zuweisungen verwandt, richtig wäre hier == oder besser noch === zu verwenden.
Bot_interesierter is offline  
Old 04/10/2011, 20:20   #4
 
banjo1's Avatar
 
elite*gold: 1371
Join Date: Dec 2007
Posts: 14,903
Received Thanks: 19,354
Quote:
Originally Posted by Bot_interesierter View Post
Code:
        while($row = mysql_fetch_assoc($query))
ist auch noch falsch, = ist in php kein Vergleichsoperator sondern wird für Zuweisungen verwandt, richtig wäre hier == oder besser noch === zu verwenden.
Schonmal daran gedacht, dass es dort nichts verglichen wird?!
banjo1 is offline  
Old 04/11/2011, 15:22   #5
 
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
Quote:
Originally Posted by banjo1 View Post
Schonmal daran gedacht, dass es dort nichts verglichen wird?!
Ja da hast du recht.
Bot_interesierter is offline  
Old 04/11/2011, 19:47   #6
 
elite*gold: 0
Join Date: Mar 2007
Posts: 17
Received Thanks: 2
-
silon is offline  
Old 04/12/2011, 02:37   #7
 
hen!'s Avatar
 
elite*gold: 125
Join Date: Apr 2008
Posts: 1,217
Received Thanks: 1,304
Was du machen könntest währe z. B. folgendes:

PHP Code:
    function fetchRow($table)
    {
        
$qryData = array();
        
$query mysql_query("SELECT * FROM $table"
            or die (
mysql_error());
        
$x=0;
        while(
$row mysql_fetch_assoc($query))
        {
            
$qryData['result'][] = $row;
            $++;
        }
        
$qryData['count'] = $x;
        return 
$qryData;
    } 
PHP Code:
var_dump($MySQL->fetchRow($post)); 
Damit würdest du die Daten inkl. Anzahl der Datensätze ausgeben. Ob dies nun einen tatsächlichen Nutzen bringt (doppeltes durchlaufen beim weiterverarbeiten der Daten) is fraglich. Neben dem Hauch objektorientierung kann man da nicht viel entdecken. Guck dir mal Mysqli an.

Hinzu kommt, dass du *-Selects machst und das ist nicht performant. Du solltest den kompletten Query übergeben.
hen! is offline  
Reply


Similar Threads Similar Threads
[AutoIt] Frage: Login über MySQL
01/15/2011 - AutoIt - 3 Replies
hey. das ganze sieht so aus: ich habe bereits geschafft, mich mit meinem autoit script mit mysql zu verbinden, dort die datenbank "user" und dann die tabelle "user" auszuwählen und dort eine neue zeile hinzu- zufügen. ALSO: Registrieren über AutoIt mit den Angaben Benutzername und Passwort geht! Jetzt will ich noch, dass ich mich auch verbinden kann, also einloggen, sodass, NUR WENN der angegebene benutzername und das angegebene passwort übereinstimmen, man weitergeleitet
[Hilfe] Frage bei Login (über MySQL) per C++
12/15/2010 - Web Development - 21 Replies
Heyho Leute, ich suche Hilfe, undzwar habe ich folgendes vor: Ich habe ein Programm in Konsolen Form (also ohne Style), und will dort jetzt folgendes einabauen: Programm startet. fragt nach loginname. eingabe des loginnamens. fragt nach pw.
Mysql Abfrage über PHP Skript
09/05/2010 - AutoIt - 3 Replies
Hallo Community, Ich hab folgendes Problem: Mein Skript sollte eine kleine Datenbank Abfrage starten und daher habe ich mir das Tutorial auf dieser Seite reingezogen: Login + Registrierung über eine MySql-DB - Tutorials - .: autoit.de :. - Das deutsche AutoIt-Forum Natürlich habe ich auch alle Werte in meinem Autoit Code an meine Datenbank etc angeglichen. Das PHP Login-Skript sieht wie folgt aus:
[Frage]Wie kann man die Mysql Tabellen über den Root repaieren
09/04/2010 - Metin2 Private Server - 4 Replies
Hay Com.. Weiß vill iwer wie man die Mysql Tabellen über den Root reparieren? Hoffe auf schnelle antwort.. Mfg.
verbindungsprobleme
09/29/2007 - Flyff - 7 Replies
hey leute hab mal ne frage an euch immer wenn ich mit hacks spiele werde ich manchmal erst nach 3 stunden manchmal aber auch nach 3 min vom server getrennt wisst ihr vieleicht wieso das so ist?? hab die sufu benutzt aber leider nix gefunden :( ps: werde auch vom server getrennt wenn ich ohne hacks und mit patch spiele....:confused: bitte helft mir



All times are GMT +1. The time now is 08:53.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.