• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

MySQL-Fehlermeldung

Kann man so auf anhieb nicht sehen, mach mal hinter die abfrage:
PHP:
echo mysql_error();
sollte dir das Problem ausgeben...
 
Bist du dir sicher, dass du nicht vllt Datenbank mit Tabelle verwechselst oder wie threadi schon gesagt hast, du den falschen Server abfragst?
Der Error ist ganz klar, diese Datenbank existiert definitiv nicht.

MfG Icy
 
bist du dir auch sicher das die db_connect funktioniert=??

Code:
function db_connect()
{
    /** Datenbankverbindung herstellen*/
    $db = @mysql_connect($dbServer, $dbUser, $dbPasswort);
    if($db)
    {
        $dbSelect = mysql_select_db($dbName);
        return $db;
    }else
    return false;
}

so mach ich das immer vor jeder abfrage:
Code:
if(db_connect)
{
  //Hier die abfrage
}

nich das du die ausversehen irgendwo beendet hast ;)
 
Damit baust du dann aber immer wieder eine Verbindung zur Datenbank auf, was gar nicht nötig ist.

Besser wäre z.B.

PHP:
<?php
define("HOST", 'localhost');
define("USERNAME", 'username');
define("PASSWORD", '*****');
define("DATABASE", 'dbname');

$db = mysql_connect(HOST, USERNAME, PASSWORD) OR die (mysql_error());
mysql_select_db(DATABASE, $db) OR die (mysql_error());

if (is_resource($db)) {
  //Abfrage
}

Wobei die Abfrage mit is_resource() eigentlich auch überflüssig ist, da bei misslungener Verbindung zur Datenbank bereits dort eine Fehlermeldung ausgegeben werden sollte.
 
Damit baust du dann aber immer wieder eine Verbindung zur Datenbank auf, was gar nicht nötig ist.

Das halte ich aber für ein gerücht!
PHP/mysql is so schlau und erkennt das da schon eine verbindung is und setzt diese ggf fort.

wie auch immer.
da ich nur in bestimmten funktionen die verbindung brauch, wäre es zudem überflüssig die verbindung immer gliech am anfang aufzubauen.

naja, muss jeder selber wissen
 
nein tut php nicht, außer du sorgst dafür was du nicht getan hast.
nebenbei besteht der sinn nicht darin das du das in deinem script tausend mal machst sondern das nach dem ausführen eines scripts die schon geöffnete verbindung schneller wieder aufgenommen werden kann. also auch hier nur ein mal pro anfrage connecten!

PHP: mysql_pconnect - Manual

//Edit: ach und wenn mysql sagt das die datenbank nicht existiert dann kannst du dir ziemlich sicher sein das mysl recht hat... hier wird wie meistens das problem vor dem PC sitzen ;)
 
wenn ich ein echo $db einfüge kommt immer RessourceId #5 etc...

das zeigt mir das er die Verbindung nicht neu aufbaut sondern die bestehende fortsetzt!
Soviel zu deiner logik.
 
nein tut mir leid du hast unrecht. es wird eine neue verbindung aufgebaut, das mit dem resource id liegt nur daran das es ne php resource ist! ;)
 
hmmm...

ich dachte ja nur :-(

habs jetzt so umgebaut:
Code:
function db_connect()
{
    global $db;
   
    if(!is_resource($db))
    {
        /** Datenbankverbindung herstellen*/
        $db = @mysql_pconnect($dbServer, $dbUser, $dbPasswort);
        if($db)
        {
            if($_SESSION["Debug"])
                echo "neue DB-Verbindung: ".$db;
            $dbSelect = mysql_select_db($dbName);
            return $db;
        }
    }else
        return $db;
    return false;
}

dann sollte es pro seitenaufruf nur einen aufbau geben (daher auch nur 1x echo)
 
Zurück
Oben