Skriptproblem...Bitte um Hilfe!

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
R.Carlos
Mitglied
Beiträge: 3
Registriert: 01.08.2006 15:51

Skriptproblem...Bitte um Hilfe!

Beitrag von R.Carlos »

Hallo zusammen,
ich habe ein kleines Problem mit meinem Skript. Vorab ersteinmal, ich bin noch ganz neu mit dem Umgang von PHP ;-).
Also folgendes...
ich habe ein Newsletterversandtool mit dem ich Html Mails verschicken kann. Die Adressen zieht er sich aus einer Datenbank und verschickt sie dann.
Wenn ich dieses Tool nun aufrufen will bekomme ich folgende Fehlermeldung...


Code: Alles auswählen

Fehler-Bericht:
newsletter-WebSite

Auf dieser WebSite trat folgender Fehler auf:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-name' at line 1

01.08.2006 13:24:34

Statement: SHOW TABLE STATUS FROM datenbank-name


Das ist sehr komisch, weil eigentlich die Verbindung zur Datenbank besteht. Über ein Formular kann ich neue Adressen eintragen, die auch in die Datenbank geschrieben werden. Also steht die Verbindung oder?

Ich habe mal geschaut und konnte den entsprechenden Befehl eingrenzen. Die Abfrage nach "SHOW TABLES..." findet nur hier statt...

Code: Alles auswählen

function getDeliveryTables () {
        global $AvailableTables;
        if ($GLOBALS ['connID']) {
            $sql = sprintf ("SHOW TABLE STATUS FROM %s ", _MYSQL_DB_);
            $result = myquery ($sql, $GLOBALS ['connID']);
            $pattern = "?"._MYSQL_TABLE_."[0-9]+?";
            while ($row = mysql_fetch_assoc($result)) {
                preg_match($pattern, $row ['Name'], $hit);
                if (!empty ($hit)) {
                    array_push($AvailableTables, $row ['Name']);
                }
            }
        }
    }

    function getRowCount ($db, $table) {
        if ($GLOBALS ['connID']) {
            $sql = sprintf ("SHOW TABLE STATUS FROM %s LIKE '%s'", $db, $table );
            $result = myquery ($sql, $GLOBALS ['connID']);
            $row = mysql_fetch_assoc ($result);
            return $row ['Rows'];
        }
        else {
            return false;
        }
    }

Den _MYSQL_DB_ habe ich so definiert...wobei der ja richtig ausgelesen wird




Code: Alles auswählen

define ('_MYSQL_DB_', 'Datenbank-name');

Hab ich da was übersehen?

Hoffe es kann mir jemand weiterhelfen

Gruß
R.Carlos
Benutzeravatar
Banger
Ehemaliges Teammitglied
Beiträge: 375
Registriert: 03.05.2005 21:53
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Banger »

Deine Datenbank wird wohl kaum "Datenbank-name" heißen, oder?

Falls doch, probier es mal so:

Code: Alles auswählen

define ('_MYSQL_DB_', '`Datenbank-name`');
Scoutman
Mitglied
Beiträge: 278
Registriert: 11.02.2004 17:15
Wohnort: .at

Beitrag von Scoutman »

mein erste gedanke war das du den namen der datenbank vergessen hast einzutragen und der eintrag "Datenbank-name" der standart wert ist. aber wie du geschrieben hast hast du das ja selbst eingetragen.
heißt deine datenbank also wirklich "Datenbank-name"??
KEIN Support per PM!!!
R.Carlos
Mitglied
Beiträge: 3
Registriert: 01.08.2006 15:51

Beitrag von R.Carlos »

Hi,
also der Datenbankname heisst nicht wirklich so. Der Name ist eine Kombination von Buchstaben und Zahlen getrennt von einem Bindestrich.
Das kann ich leider nicht ändern, dass ist vom Provider so vorgegeben.

Denkst du das liegt an dem Bindestrich?

Gruß
R.Carlos
R.Carlos
Mitglied
Beiträge: 3
Registriert: 01.08.2006 15:51

Beitrag von R.Carlos »

@Banger

mit

Code: Alles auswählen

define ('_MYSQL_DB_', '`Datenbank-name`');
hat es funktioniert...ich kann das tool jetzt aufrufen.
Nebeneffekt. Das eintragen der User geht jetzt nicht mehr. Dann mecker er...

Code: Alles auswählen

No database selected
Alles sehr komisch, oder? Warum macht er das denn jetzt?

Gruß
R.Carlos
Antworten

Zurück zu „Coding & Technik“