Hello there,

das wäre ganz schlechtes Design so.

Zumal es ja auch kein Problem wäre, wenn du die Datenbank immer initialisierst, wenn du sie eh überall brauchst.

Dann spricht doch nichts dagegen, einmalig eine Instanz zu erzeugen und dann. Möchtest du die Datenbankverbindung auch innerhalb einer anderen Klasse nutzen, dann kannst du sie hier zusätzlich noch im Konstruktor übergeben, am besten via Referenz als &$mysqli, dann musst du die Datenbank nicht nochmal initialisieren.

Ein Singleton wäre eine andere Option, hier ist sowohl die Instanz als auch die Zugriffsfunktion statisch, allerdings ist das mittlerweile kein guter Programmierstil mehr, exzessiv Singletons einzusetzen.

Eine weitere Variante wäre, die Datenbankverbindung mit dem global Schlüsselwort noch überall bekannt zu machen, aber das ist auch sehr schlampig, weil man Variablen nicht global nutzen sollte, sondern nur da, wo man sie auch braucht. Deswegen ist es auch sinnvoll, einen geregelten Zugriff auf die MySQLI Klasse zu haben:

Hoffe das hilft dir weiter.

MfG

Alex

P.S: Umgekehrt kannst du aus einer Instanzmethode immer noch statische Member aufrufen, dies geht über das Selfschlüsselwort. AUs deiner Methode _query() könntest du die öffentliche Methode via self::query() aufrufen,.

...zur Antwort

Hello there,

es kommt ein bisschen drauf an, wie man rechnet. Ich gehe davon aus, dass Ansagen wie Re oder Kontra 2 Punkte zählen (statt verdoppeln) und Absagen wie keine 90 1 Punkt.

Es gibt also folgende Punkte:

Ansage Re: 2 Punkte

Absage K90: 1 Punkt

120 Punkte erreicht gegen Absage K90: 1 Punkt

Sonderpunkt für Kontra gewinnt gegen Re (den gibts im gesunden Spiel immer wenn Ko gewinnt): 1 Punkt.

= 5 Punkte.

Dazu ggf. noch Sonderpunkte für Fuchs/Karlchen im letzten Stich, gefangene Füchse oder einen Doppelkopf.

MfG

Alex

...zur Antwort

Hello there,

ich seh da jetzt auch kein Problem bei. Was aber sein könnte ist, dass du SAFE UPDATES aktiviert hast. Dann würde dein Befehl nicht klappen. SAFE UPDATES sind ein Mechanismus, der unterbindet, dass man UPDATE- oder DELETE-Befehle ausführen kann, die nicht mit einer WHERE-Bedingung über den Primärschlüssel oder eine LIMIT-Statement eingeschränkt wurden - das hängt einfach damit zusammen, dass man das im Eifer des Gefechts gerne mal vergisst und dann die ganze Tabelle geschrottet wird.

Versuch mal erst den Befehl

SET SQL_SAFE_UPDATES = 0;

auszuführen und versuch es dann nochmal.

MfG

Alex

...zur Antwort

Hello there,

leider fehlen hier wichtige Informationen zum Rest des Skriptes, etwa auch zur Verbindung der Datenbank.

Aber weißt du was sein kann?

Nach dem "INSERT INTO wcf2_shoutbox_entry" kommt gleich die Klammer und kein Leerzeichen mehr. Das könnte evtl. ein Problem sein. Möglicherweise interpretiert der MySQL parser dann den ganzen Klammerblock noch als Tabellennamen. Änder das mal ab.

MfG

Alex

...zur Antwort

Hello there,

also für MySQL kann ichs mal skizzieren. Wir gehen davon aus, dass es eine Tabelle einkauf gibt, die über den Schlüssel kundeid mit der Tabelle Kunde verknüpft ist:

DELIMITER //
CREATE TRIGGER "shoppen"
AFTER INSERT ON einkauf
FOR EACH ROW
BEGIN
UPDATE kunden SET count = count + 1
WHERE kunde.kundeid = new.kundeid;
IF(kunden.count) >= 5 THEN
UPDATE kunden SET count = 0
WHERE kunde.kundeid = new.kundeid;
UPDATE kunden SET gutschein = gutschein +1
WHERE kunde.kundeid = new.kundeid;
ENDIF
END
DELIMTER ;


Schau mal ob es so ungefähr hinkommt.


MfG

Alex

...zur Antwort
Arma3 Frage Spieler Informationen zu UID [ID] ab?

Servus Leute,

was könnte da das problem sein? habe alle Passwörter überprüft, aber finde keine lösung.

Wäre cool, wenn mir da jemand helfen könnte, vielen Dank schonmal im Vorraus.

Folgend die Log Datei, die ich nicht wirklich verstehe:

[15:55:23 +02:00] [Thread 675730457] extDB: Version: 35 [15:55:23 +02:00] [Thread 675730457] extDB: Windows Version [15:55:23 +02:00] [Thread 675730457] Message: Arma Linux Servers are using Older Physic Library (than Windows Servers), due to Debian 7 using old version of Glibc [15:55:23 +02:00] [Thread 675730457] Message: If you like extDB consider donating or bug BIS to drop support for Debian 7 thanks, so Linux Servers get same Physic Library Version as Windows [15:55:23 +02:00] [Thread 675730457] Message: Note currently most/all development for extDB is done on a Linux Server [15:55:23 +02:00] [Thread 675730457] Message: Torndeco: 24/01/15 [15:55:23 +02:00] [Thread 675730457] [15:55:23 +02:00] [Thread 675730457] extDB: Found extdb-conf.ini [15:55:23 +02:00] [Thread 675730457] extDB: Detected 32 Cores, Setting up 6 Worker Threads (config settings) [15:55:23 +02:00] [Thread 675730457] extDB: Database Type: MySQL [15:55:23 +02:00] [Thread 675730457] extDB: Database Session Pool Started [15:55:23 +02:00] [Thread 675730457] extDB: DB_RAW_V3: Initialized: ADD_QUOTES True [15:55:23 +02:00] [Thread 3394128745] extDB: DB_RAW_V3: Error StatementException: MySQL: [MySQL]: [Comment]: mysql_stmt_execute error [mysql_stmt_error]: PROCEDURE ni238115_1_DB.resetLifeVehicles does not exist [mysql_stmt_errno]: 1305 [mysql_stmt_sqlstate]: 42000 [statemnt]: CALL resetLifeVehicles [15:55:23 +02:00] [Thread 1361138702] extDB: DB_RAW_V3: Error StatementException: MySQL: [MySQL]: [Comment]: mysql_stmt_execute error [mysql_stmt_error]: PROCEDURE ni238115_1_DB.deleteDeadVehicles does not exist [mysql_stmt_errno]: 1305 [mysql_stmt_sqlstate]: 42000 [statemnt]: CALL deleteDeadVehicles [15:55:23 +02:00] [Thread 1748363220] extDB: DB_RAW_V3: Error StatementException: MySQL: [MySQL]: [Comment]: mysql_stmt_execute error [mysql_stmt_error]: PROCEDURE ni238115_1_DB.deleteOldGangs does not exist [mysql_stmt_errno]: 1305 [mysql_stmt_sqlstate]: 42000 [statemnt]: CALL deleteOldGangs [15:55:23 +02:00] [Thread 3394128745] extDB: DB_RAW_V3: Error StatementException: SQL: CALL resetLifeVehicles [15:55:23 +02:00] [Thread 1361138702] extDB: DB_RAW_V3: Error StatementException: SQL: CALL deleteDeadVehicles [15:55:23 +02:00] [Thread 223059959] extDB: DB_RAW_V3: Error StatementException: MySQL: [MySQL]: [Comment]: mysql_stmt_execute error [mysql_stmt_error]: PROCEDURE ni238115_1_DB.deleteOldMessages does not exist [mysql_stmt_errno]: 1305 [mysql_stmt_sqlstate]: 42000 [statemnt]: CALL deleteOldMessages [15:55:23 +02:00] [Thread 1748363220] extDB: DB_RAW_V3: Error StatementException: SQL: CALL deleteOldGangs [15:55:23 +02:00] [Thread 3743252631] extDB: DB_RAW_V3: Error StatementException: MySQL: [MySQL]: [Comment]: mysql_stmt_prepare error [mysql_stmt_

...zum Beitrag

Hello there,

also ich kenne das Spiel nicht, aber der Log sagt im Wesentlichen aus, dass der MySQL Server bestimmte Prozeduren (eine Prozedur ist einfach gesagt ein bereits vorgefertigtes SQL-Statement), von denen das Skript erwartet, dass diese in der betreffenden Datenbank abgelegt sind, nicht finden kann, und daher die entsprechenden Befehle nicht ausführen kann.

Also eigentlich handelt es sich daher um einen Fehler in der Software.

MfG

Alex

...zur Antwort

Hello there,

konzeptionell musst du darauf achten, dass auch eine Definition eines PRIMARY KEY (Primärschlüssel) oder FOREIGN KEY (Fremdschlüssel) nur erfolgen kann, wenn du die Spalte vorher auch definiert hast.

Die Spalte ehe_Id wurde aber in deiner Liste noch gar nicht angelegt. Außerdem ist die Deklaration des Fremdschlüssels auch so schon falsch, weil du - normalerweise - noch eine Referenz zu einer anderen Tabelle angeben solltest, wenn du die Fremdschlüssel schon explizit setzen magst.

Vielleicht solltest du die Tabellen und das was du machen willst, erstmal über eine graphische Oberfläche, etwa PHPMyAdmin anlegen.
Der Vorteil ist, bei allem was du machst wird dir das betreffende SQL-Statement, das im Prinzip bei deinem Geklicke ausgeführt wird, angezeigt. Dadurch lernst du, was du hättest schreiben müssen :)

MfG

Alex

...zur Antwort

Hi there,

einen Join sollte man, wenn möglich, aus Performancegründen vermeiden, da bei einem Join der Regel immer eine Bereinigung des Kreuzprodukts stattfinden muss, die Zeit kostet.

Für deine Idee ist ein Subquery das Richtige:

SELECT * FROM tabelle1
WHERE datei_id IN
(
     SELECT DISTICNT datei_id
     FROM tabelle2
     WHERE datei_tag = "-->Gesuchter Wert<--"
);

Das sollte es sein:
MfG

Alex

...zur Antwort

Hello there,

leider hat eine - meiner Ansicht nach - unzureichende und teilweise FALSCHE Antwort bereits einen Stern erhalten.

Ich liefere daher mal eine vollwertige Antwort.

SQL steht für Structured Query Language, also strukturierte Abfragesprache.
Es handelt sich dabei um eine deklarative Datenbanksprache, um auf relationale Datenbanksysteme zuzugreifen (dazu gehören etwa MySQL, Microsoft SQL Server, Oracle DB, Informix, MariaDB, PostgreSQL und viele weitere)

SQL ist eine standardisierte Sprache. Es gibt also Normen dafür, wie die Sprache arbeitet und was sie können sollte. Dabei handelt es sich aber lediglich um *Empfehlungen*.

Verschiedene Anbieter vertreiben verschiedene relationale Datenbanksysteme (siehe oben). Nehmen wir hier mal dein Beispiel MySQL.

Bei MySQL handelt es sich zum einen erstmal um ein Datenbanksystem der Firma Oracle. Es werden verschiedene Produkte angeboten, im Wesentlichen verschiedene Editionen des MySQL Servers die von kostenlos bis ziemlich teuer reichen.

Umgangssprachlich bezeichnet MySQL aber nicht nur das Programm selbst, sondern auch die Abfragesprache MySQL.

Die Sprache MySQL ist eine Implementierung des Standard-SQL. Jeder Anbieter implementiert sein SQL etwas anders. Es werden etwa auch eigene Befehle ergänzt, die im Standard nicht vorkommen, oder auch die Syntax verändert.
Beispielsweise definiert der SQL-Standard, dass ein UPDATE Befehl grundsätzlich auf eine Tabelle angewandt wird. MySQL erlaubt dagegen auch, dass ein UPDATE Befehl über mehrere Tabellen hinweg ausgeführt wird.

Ein weiteres bekanntes Beispiel etwa ist die Begrenzung der ausgegebenen Datensätze bei einem SELECT-Statement.
In der Implementierung MySQL nutzt man hier den LIMIT-Ausdruck.
In Microsofts SQL-Implementierung namens T-SQL verwendet man den TOP-Ausdruck, der macht ansich das Gleiche, aber die Syntax ist komplett anders.

Du musst also beim Arbeiten mit Datenbanken immer darauf achten, ob das entsprechende Datenbanksystem auch die Befehle, die du (allgemein formuliert) in SQL schreibst, auch von diesem System unterstützt werden.

Hoffe ich konnte dir helfen.

MfG

Alex

...zur Antwort

Hello there,

was auf jeden Fall ein Problem ist, ist diese Zeile hier:

$db_selected = mysql_select_db('db_name', $connection);

Du hast db_name oben drüber als Konstante definiert, aber nun schreibst du die als String. Das kann nicht gehen. Konstanten werfen ohne  ' ' aufgerufen.

also nur db_name

Dass du  uns dein Passwort verrätst...naja. Gut SQL Sicherheit kannst du später noch einbauen, das ist so nämlich nix.
Auch solltest du nicht mysql, sondern mysqli als Schnittstelle in PHP verwenden. Aus mysql_query() wird dann etwa mysqli_query()

MfG

Alex

...zur Antwort

Hello there,

du musst zum Einen darauf achten, dass der Zeichensatz in PHP der gleiche ist, wie in MySQL.
Evtl. musst du das vorher noch mit

mysql_set_charset('utf8');

anpassen,

Außerdem ist deine Art einen MySQL Query zu schreiben furchtbar.
Mach es doch mal so:

$sql = "DELETE FROM `" . $tabelle . "` WHERE name = " . mysql_real_escape_string($name) . " AND nummer = " . intval($nummer). ";";

und schicke anschließend das Statement mit mysql_query() ab. Du hast ja schon das Problem dass du so merkwürdig versuchst zu escapen mit deinen \. So zu escapen lernen vielleicht Studenten an der Uni, wenn sie einen Dozenten haben der zu dumm ist (ja ich hab sowas schon gesehen). Nutze doch einfach vernünftige Funktionen in PHP, dann wird das auch besser.

Versuchs bitte nochmal.

MfG

Alex

...zur Antwort

Hello there,

nein, so wie du das machst, würdest du ein kartesisches Produkt über drei Tabellen machen und hättest 8 mal so viele Ergebnisse wie du eigentlich willst, weil du alles mit allem kombinieren würdest.

Ein Join ist unabdingbar. Wenn du aber das Schlüsselwort JOIN nicht verwenden willst, kannst du implizite Joins nehmen, so wie du das hier gemacht hast.

Dann musst du aber weitere WHERE-Statements mit AND hinzufügen und jeweils den Fremdschlüssel BenutzerID aus den Tabellen Infos und Addresses gleichsetzen mit dem Primärschlüssel BenutzerID aus der Tabelle users.

Also vermutlich etwa so:

SELECT * 
FROM Users, Infos, Addresses
WHERE infos.UserID = users.UserID
AND addresses.UserID = users.UserID
AND Users.User_TOKEN = "XY

Ganz besonders hässlich ist natürlich das SELECT * über drei Tabellen. Icbh kann mir nicht vorstellen, dass du das wirklich alles brauchst. Selektiere - außer zum puren Testen - immer nur die Spalten die du auch brauchst.

Hoffe ich konnte dir helfen.

MfG

Alex

...zur Antwort

Hello there,

Es gibt keine automatischen Ansagen beim Doppelkopf.

Das wäre ja auch schlimm, weil An- und Absagen machst du ja nur, wenn du davon ausgehst, dass du sie auch gewinnst - eine Armut nimmst du zwar in der Regel nur an, wenn du Gewinnchancen siehst, aber eine Hochzeit kann ja auch mit vier Trumpf vorliegen, das wäre dann ungeschickt.

Da aber Doppelkopf jeder anders spielt gibt es ein paar Varianten, wo es in diese Richtung gehen kann.

So ist etwa verbreitet, dass bei einem gesunden Spiel der Spieler in Vorhand nach dem ersten Tische eine Pflichtansage machen muss, wenn er mit seinem ersten Stich mehr als 30 Punkte holt.

MfG
Alex

...zur Antwort

Hello there,

Datenbanken sind ein Konzept zur strukturierten Speicherung und Abfrage von Daten.

Viele Programme oder auch Webanwendungen benötigen einen Ort, an dem Daten abgelegt werden können, wie du erkannt hast. Ursprünglich waren das eigentlich einfach Dateien mit Text. Das macht man heutzutage so aber nicht mehr, es gibt Datenbanken.

Die Datenbank SQLite ist dateibasiert. Die gesamte Datenbankengine ist eine einzige ausführbare Datei und das wars. Die einzelnen Datenbanken sind auch eine einzelne Datei. Fertig. Viele Programme, die portabel und schnell sein sollen, nutzen dieses einfache, schnelle und leichtfüßige Konzept, um Programmdaten zu speichern. Auch SEHR!!!!!!!! viele Androidapps haben im Hintergrund noch ne kleine SQLLite Datenbank hinten dran stehen, etwa Whatsapp oder auch die normale Kontakteapp.

MySQL ist eine komplexere Anwendung, sie ist ein eigenständiger "Server". Dies kann tatsächlich ein richtiger Server sein auf dem das läuft, oder es ist einfach ein Dienst oder ein laufender Prozess auf einem normalen Computer.

Es ist ein Programm, das aus vielen Dateien besteht. Auch die Datenbanken mit ihren Tabellen werden nicht mehr in einer Datei abgebildet, sondern aufgeteilt (etwa 3 Dateien pro Tabelle bei MyISAM). Als Serveranwendung hat MySQL den Vorteil, dass auch große Datenmengen besser zu verwalten sind und man kann die Datenbank einfach über das Netzwerk zur Verfügung stellen.

Nein die Datenbank wird nicht "aktiviert". MySQL ist ein permanent aktiver Dienst und mit dem Netzwerkport 3306 verknüpft. MySQL lauscht ständig, ob auf diesem Port Anfragen herein kommen und wertet diese aus, da der MySQL-Dienst in der Regel angesprochen wird, wenn Port 3306 adressiert wird. Hier können dann von Programmen oder auch Skripten, etwa PHP-basierten Webseiten SQL-Befehle geschickt werden. Diese werden auf dem Datenbankserver ausgeführt und der Server schickt eine Ergebnismenge oder eben einen Fehler an das anfragende Programm oder Skript, welches die abgefragten Daten dann weiter verarbeitet.

Das soll erstmal genügen.
Hoffe ich konnte dir helfen.
MfG
Alex

...zur Antwort

Hello there,

naja mit JavaScript alleine mit Sicherheit nicht. Bzw nicht mit klassischem JavaScript.

Was du ja schon korrekt machst, ist das Ganze in PHP und MySQL zu schreiben.

Das was du machen willst, ist praktisch so ähnlich wie Facebook, dass du einfach nur auf "Abschicken" klickst und das Zeug sofort gespeichert wird.

Das macht man in der Tat mit JavaScript. Anders als PHP wird JavaScript auf dem Client ausgeführt, das heißt der Browser des Benutzers liest den JavaScript Code ein, den er vom Server erhält und führt ihn aus.

Du brauchst hier sogenanntes AJAX. Das ist ein Konzept zur asynchronen Datenübertragung. Asynchron bedeutet, es kann Datenaustausch stattfinden, ohne dass der Server die komplette Seite neu schicken muss, es können Inhalte vom Server nachgeladen werden oder der Client kann dem Server dynamisch Daten schicken (etwa einen Blogeintrag).

Google mal nach dem Framework jQuery. Dieses erlaubt es dir mit nur wenig (vereinfachtem) JavaScript-Code eine solche AJAX-Übertragung zu schreiben. Letztlich musst du die Daten, die der Benutzer eingibt, validieren und dann mit der AJAX-Technik an ein PHP-Skript auf dem Server schicken, der die Daten anschließend in die Datenbank einträgt und anschließend bestätigt, dass die Daten erfolgreich eingetragen wurden, so dass dem Benutzer wieder per JavaScript eine Bestätigung angezeigt werden kann.

Hoffe das hilft dir weiter.

MfG

Alex

...zur Antwort

Hi.

Naja letztlich brauchst du eine MySQL-Installation. Dazu kannst du entweder die kostenlose MySQL Server Community Edition nehmen oder du nimmst ein Komplettpaket, wie  (das ebenso kostenlose) XAMPP, das hätte den Vorteil, dass hier auch gleich noch ein Bedienwerkzeug für MySQL dabei ist, nämlich PHPMyAdmin.


MySQL ist zunächst mal ein reines Kommandozeilenwerkzeug.


Dennoch wirst du zumindest in Windowsumgebungen niemanden finden, der Datenbanken auf dem Server über die Kommandozeile anlegt, denn sowas macht man mit SQL Befehlen. Es gibt nur wenige Dinge, die sich ausschließlich über die Kommandozeile durchführen lassen.


Für SQL-Befehle eignet sich eine grafische Oberfläche dann doch besser. Das browserbasierte PHPMyAdmin ist ein gängiges Beispiel, es gibt aber auch etwa noch die MySQL GUI Tools oder als etwas schöneres Werkzeug die MySQL Workbench Community Edition, die man als vollwertiges Programm auf dem Computer installiert. Bei beiden handelt es sich um kostenlose Werkzeuge, um insbesondere Datenbanken und Tabellen anzulegen  und zu verwalten, sowie SQL-Befehle auf dem Server auszuführen.


Aber wenn du noch gar keine Ahnung hast, solltest du dir mal ein Tutorial zum Thema MySQL zu Gemüte führen.
Mein Vorgänger erwähnte ja schon, dass es auf Codecademy seit kurzem ein (englischsprachiges) Praxistutorial gibt, das ist aber für Standard-SQL. MySQL unterscheidet sich in einigen (für dich derzeit wohl eh nicht relevanten) Dingen.

Hoffe ich konnte dir helfen.

MfG

Alex

...zur Antwort

Hello there,

also was auf jeden Fall falsch ist (aber eigentlich müsste es dennoch gehen), ist dass du mit der Mysqli-Schnittstelle arbeitest, aber die Konstante MYSQL_ASSOC statt MYSQLI_ASSOC verwendet beim Aufruf von mysqli_fetch_array().
UND: Ganz wichtig!!! So wie du deinen Verbindungsaufbau schreibst mit mysqli_connect übergibst du vier Konstanten Oo das willst du ja nicht.
Du musst alle vier Parameter, die du hier übergibst als String übergeben,

Will heißen:

$db_link = mysqli_connect (
"127.0.0.1",
"root",
"*****************",
"feel");

Dann geht das denke ich auch, der Rest müsste ansich passen :)

MfG
Alex

...zur Antwort

Hello there,

so ganz ausreichend sind deine Beschreibungen nicht.
Zum Verbinden mit einer MySQL-Datenbank via PHP verwendest du am besten die MySQLi-Klasse.
$db = mysqli_connect("Deinserver", "Deinuser", "DeinPasswort", "MinecraftDB");
Das wird aber vermutlich so nicht ausreichen (ich kenn mich mit Minecraft zwar nicht aus), aber ich bin der Meinung du wirst auch Zugriffe über die API machen müssen (http://minecraft-de.gamepedia.com/Mojang_API).
Weil letztlich musst du ja darstellen können, dass jemand gekommen ist und damit dein Skript ausgeführt werden soll.

Die Sachen die du bisher beschrieben hast, lassen sich letztlich in einer einzigen Tabelle deponieren.

Du brauchst eben eine ID für jeden Eintrag, zwei Booleans (isOp und isBanned) und die BenutzerID.
Du kannst ggf. noch eine zweite Tabelle machen, in der du die aktive Spielsession speicherst, aber das ist nicht so einfach um das mal eben in nem kleinen gutefrage.net Beitrag zu erklären :/

MfG
Alex

...zur Antwort
Nein

Hello there,

aus Sicht der Weltpolitik mit Sicherheit, schließlich schafft sie ja Probleme von der Bildfläche.
Dass darunter eine ganze Nation leidet, spielt ja für einen Friedensnobelpreis nur ne untergeordnete Rolle. Seit eh und je wird beim Friedensnobelpreis ja immer nur ein Tunnelblick gespielt, sonst hätte ein Barack Obama wohl auch nie einen bekommen.

Aber ich bin ganz ehrlich: Es wäre das schlimmste, was ich mir derzeit vorstellen kann, wenn diese Frau auch nur annähernd eine solche Auszeichnung bekäme. Nen Genickschuss wäre mir da ehrlich gesagt sympathischer. Und man möge mir die krassen Worte verzeihen, aber ich glaube, ich spreche hier für viele, daher sollte ein Interesse der Allgemeinheit bestehen, dass das gutefrage.net Team das nicht zensiert ;)

MfG

Alex

...zur Antwort

Hello there,

diese  Meldung bedeutet, dass die Verbindung zum Datenbankserver nicht funktioniert hat, weil das Passwort falsch ist.

In der Regel wird es für dein Plugin irgendwo eine Konfigurationsdatei geben, in der du deine Datenbankzugangsdaten hinterlegen musst, also Benutzername und Passwort und die entsprechende Datenbank auf dem Server.
In der Regel musst du die Datenbank auf dem Server erst anlegen. Die meisten datenbankbasierten Programme erwarten, dass die Datenbank selbst bereits auf dem Server vorhanden ist und sie dann da nur noch ihre Tabellen anlegen müssen.

Ich empfehle dir hier, mit PHPMyAdmin oder alternativ dem kostenlosen Programm MySQL Workbench zu arbeiten, um die Datenbank zu administrieren.

MfG
Alex

...zur Antwort