PHP dynamisch mit unterschiedlichen Datenbanken verbinden?

Hallo!

Folgende Situation:

Es gibt mehrere Datenbanken. Eine für alle Installationen meines Projektes (beinhaltet Zugangsdaten für Schul-DB's) und dann weitere, schulspezifische Datenbanken, in denen jeweils andere Dinge stehen (wie zum Beispiel Schüler mit ihren Logindaten, etc.)

Der Benutzer ruft also eine Loginseite auf und gibt eine Schul-ID ein. Nach Buttonklick wird die an ein PHP-Skript übergeben, welche dann aus der Datenbank aller Instanzen die entsprechenden Zugangsdaten für die schulspezifische Datenbank ausliest (anhand der Schul-ID).

Anschließend sollen diese als Variable gesetzt werden, sodass von überall in diesem Skript darauf zugegriffen werden kann. Dabei soll das Ganze allerdings nur für diese Session ersetzt werden und nicht in der Datei. Sodass andere Schüler andere Schul-ID's und damit auch andere Schul-DB's verwenden können.

Wenn der Benutzer dann auf der Loginseite seinen Benutzernamen und sein Passwort eingibt, wird dieses wieder an das PHP-Skript übergeben, welches nun in der schulspezifischen DB nachschaut, ob dort der entsprechende Nutzer existiert.

Folgendes Schema habe ich bis jetzt:

class DB {
  private static $_api_username = "root";
  private static $_api_password = "";
  private static $_api_host = "localhost";
  private static $_api_name = "programmingnow_host";
  private static $_api;

  private static $_db_username = $_SESSION['school_db_user'];
  private static $_db_password = $_SESSION['school_db_pass'];
  private static $_db_host = "localhost";
  private static $_db_name = $_SESSION['school_db_name'];
  private static $_db;

  function __construct() {
    try {
      self::$_api = new PDO("mysql:host=" . self::$_api_host . ";dbname=" . self::$_api_name . ";charset=utf8mb4",  self::$_api_username , self::$_api_password);

      if (isset($_SESSION['school_db_name'])) {
        self::$_db = new PDO("mysql:host=" . self::$_db_host . ";dbname=" . self::$_db_name . ";charset=utf8mb4",  self::$_db_username , self::$_db_password);
      }
    }
    catch(PDOException $e) {
      echo "Datenbankverbindung gescheitert!";
      die();
    }
  }
  
  function connectToSchoolDB($school_id) {
    $stmt = self::$_api->prepare("SELECT instance_db_name, instance_db_user, instance_db_pass FROM instances WHERE instance_key=:instance_key");
    $stmt->bindParam(":instance_key", $school_id);
    $stmt->execute();
    $result = $stmt->fetch();
    $result['instance_db_name'] = $_SESSION['school_db_name'];
    $result['instance_db_user'] = $_SESSION['school_db_user'];
    $result['instance_db_pass'] = $_SESSION['school_db_pass'];
  }

  [..] // Der ganze Rest an Funktionen (wie Login)
} 

Der obige Code funktioniert aber nicht.

Könnt ihr mir da helfen? Wie kann ich das realisieren bzw. wo liegt der Fehler?

Danke schon einmal im Voraus!

VG!

Computer, Technik, HTML, Webseite, programmieren, MySQL, PHP, Technologie, Webentwicklung
PHP Warning: Undefined array key "status"?

Hey,

Ich habe ein Array in PHP programmiert, welches per MySQL alle Sachen selektiert.

Nun werden aber die Arrays nicht gefunden.

Code:

$stmt = $link->prepare('SELECT * FROM tickets ORDER BY created DESC');
$stmt->execute();
$resultSet = $stmt->get_result();

// pull all results as an associative array
$tickets = $resultSet->fetch_all();

<?php foreach ($tickets as $ticket): ?>
  <a href="view.php?id=<?= $ticket['id'] ?>" class="ticket">
    <span class="con">
      <?php if ($ticket['status'] == 'open'): ?>
        <i class="far fa-clock fa-2x"></i>
      <?php elseif ($ticket['status'] == 'resolved'): ?>
        <i class="fas fa-check fa-2x"></i>
      <?php elseif ($ticket['status'] == 'closed'): ?>
        <i class="fas fa-times fa-2x"></i>
      <?php endif; ?>
    </span>
    <span class="con">
      <span class="title"><?= htmlspecialchars($ticket['title'], ENT_QUOTES) ?></span>
      <span class="msg"><?= htmlspecialchars($ticket['msg'], ENT_QUOTES) ?></span>
    </span>
    <span class="con created"><? date('F dS, G:ia', strtotime($ticket['created'])) ?></span>
  </a>

Fehler:

C:\xampp\htdocs\ticket.php on line 271
" class="ticket">
Warning: Undefined array key "status" in C:\xampp\htdocs\ticket.php on line 273

Warning: Undefined array key "status" in C:\xampp\htdocs\ticket.php on line 275

Warning: Undefined array key "status" in C:\xampp\htdocs\ticket.php on line 277

Warning: Undefined array key "title" in C:\xampp\htdocs\ticket.php on line 282

Warning: Undefined array key "msg" in C:\xampp\htdocs\ticket.php on line 283

Kann mir jemand sagen, ob ich etwas übersehen habe?

Computer, Webseite, programmieren, MySQL, PHP, Webentwicklung
Php Hashen mit "Salz" / PASSWORD_DEFAULT?
$password = "passwort";
$hashed = password_hash($password, PASSWORD_DEFAULT);
if(password_verify($password, $hashed)){
    echo $hashed;
}

Also so würde ich jetzt den string "passwort" hashen mit etwas vollkommen zufälligem / salz und es zb auf meiner datenbank speicher, alles schön und gut.

Jetzt kommt das große aber, wenn ich die Seite von irgendwo anders aufrufe. Dann mich einloggen will wird das eingegebene wieder gehasht mit einem salz um es mit der sql datenbank abzugleichen.

Das geht aber garnicht weil dieses Salz doch immer ein anderer ist wenn ihr versteht was ich meine.

Hashes ohne salz vergleichen kriege ich schonmal ohne probleme hin.

zum beispiel so würde mein login/abgleich mit der datenbank aussehen :

if(isset($_POST["username"]) && isset($_POST["password"])){

$hash = hash("sha512", $_POST["password"]);

$mysqli1 = new mysqli($servername, $user, $pw, $db);
$result = $mysqli1->query('SELECT id FROM user WHERE username = "'. $_POST["username"]. '"  ');
$result1 = $mysqli1->query('SELECT id FROM user WHERE password = "'. $hash. '"  ');

if($result->num_rows == 1 and $result1->num_rows == 1 ) {
  echo "Login erfolreich"; 
} else {
    echo "Falsches Passwort oder Nutzername";
}
$mysqli1->close();
}

Hab jetzt mysqli benutzt weil es irgendwie übersichtlicher ist, und ob das anfällig für Sql Injections oder so ist spielt eigentlich keine rolle erstmal. Manche stört das

PC, Server, Computer, Technik, Web, Webseite, programmieren, Passwort, Hash, Informatik, IT-Sicherheit, Kryptographie, MySQL, PHP, Programmiersprache, Technologie, web-development, Web Developer
Wie vererbt man PHP Bedingungen beim paginieren einer Tabelle an die folgenden Seiten?

Hallo,

eigentlich habe ich 2 Fragen zu PHP, aber das hätte nicht alles ich die Überschrift gepasst.

Frage 1

Ich erlerne gerade PHP und MySQL. Dafür habe ich in einer Datenbank eine Tabelle über Internet Radiostationen angelegt, mit Sendername, Land, Kontinent, StreamURL, Genre usw. Über ein Auswahlmenü lässt sich die Tabelle nach Sendernamen, Land oder Kontinent sortieren. Das klappt soweit auch. Damit aber nicht mehr als 20 Radiostationen auf einer Seite erscheinen, habe ich unter Zuhilfenahme eines Buches die Seiten paginiert (Steige da aber noch nicht so richtig durch). Wenn ich nun die Radiostationen nach Land oder Kontinent sortiere, dann klappt das zwar auf der ersten Seite aber auf der zweiten Seite ist wieder alles nach den Sendernamen sortiert.

Was muss ich machen, damit die Sortier – Auswahl auch an die folgenden Seiten übergeben wird?

Hier ist der PHP Code

<?php

$sortieren = $_POST['sortieren'];

if($sortieren == "Sendername") {

$ergebnis = $mysqli -> query("SELECT * FROM sender ORDER BY sendername LIMIT $start, $anzahl_pro_seite");

} elseif($sortieren == "Kontinent") {

$ergebnis = $mysqli -> query("SELECT * FROM sender ORDER BY kontinent LIMIT $start, $anzahl_pro_seite");

} elseif($sortieren == "Land") {

$ergebnis = $mysqli -> query("SELECT * FROM sender ORDER BY land LIMIT $start, $anzahl_pro_seite");

}

?>

Frage 2

Wie muss die Fall – Entscheidung formuliert werden?

Natürlich soll man Radiosender über ein Eingabeformular finden können. Auch das funktioniert. Allerdings möchte ich, wenn es keinen Sender mit dem entsprechenden Namen gibt, das ein Text wie z. B. "Leider kein Sender mit diesem Namen zu finden" erscheint. Dafür habe ich in der Fall – Entscheidung folgende 2 Dinge ausprobiert:

if($zeile == !array()) {

echo "Leider gab es keinen Sender mit dem Namen";

}

Das klappt nicht.

if($zeile == false) {

echo "Leider gab es keinen Sender mit dem Namen";

}

Das klappt auch nicht.

if($zeile == null) {

echo "Leider gab es keinen Sender mit dem Namen";

}

War auch 'ne Nullnummer :)

Hier ist der komplette Code dazu:

<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

<label>Sendername eingeben:</label><br />

<input type="text" name="suchbegriff"/><br /><br />

<input type="submit" name="gesendet"/>

</form>

<?php

if(isset($_POST['gesendet'])) {

$suchbegriff = htmlspecialchars($_POST['suchbegriff']);

echo $suchbegriff . "<br />";

$db = mysqli_connect("localhost", "root");

mysqli_set_charset($db, "utf8");

mysqli_select_db($db, "radio2");

$sql = "SELECT * FROM sender WHERE sendername LIKE '%$suchbegriff%' ";

$erg = mysqli_query($db, $sql);

while($zeile = mysqli_fetch_assoc($erg)) {

echo $zeile['sendername'] . " ". $zeile['kontinent'] ." ". $zeile['land'] . " ". $zeile['ort'] . " ". $zeile['genre'] . " ". $zeile['streamurl'] . "<br /><br />" ;

}

if($zeile == !array()) {

echo "Leider gab es keinen Sender mit dem Namen";

}

}

?>

</body>

Danke für's lesen.

Computer, programmieren, MySQL, PHP
JavaScript Problem?

Hab mir einen Passwort Generator gemacht (Code unten), aber irgendwas stimmt da manchmal nicht und ich komm nicht drauf.

Ist noch nicht fertig oder überhaupt ein Krasser Passwort Generator aber hab den aus Langeweile gemacht und dieser Fehler stört mich.

Kann mir jemand weiterhelfen ?

Hier steht kein Undefined.

Hier steht ein Undefined mitten im erstellten Passwort.

Ist nur kurzer JavaScript Code:


let pwLength = 12;
let randomNumber  = Math.round(Math.random() *3);
let ALPHABET = [ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',  'S', 'T', 'U', 'V', 'W', 'X','Y', 'Z' ];
let alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
let Numbers = ["0","1","2","3","4","5","6","7","8","9"];
let SpecialChar = 
            ["!", "*", "#" ,"," ,";" ,"?", "+", "-", "_" ,".", "=", "~", "^", "%", "(", ")" ,"{", "}", "[", "]", "|", ":", "/" ];
let passwort = "";


    for (i = 0; i <= pwLength - 1; i++){
    /* zufällige Zahl zwischen 0-3,
    Bei jedem Schleifendurchgang geht es in ein anderes if statement rein */
    randomNumber  = Math.round(Math.random() *3);


                    // +1 Großbuchstabe
                if (randomNumber == 0){
                passwort += ALPHABET[Math.round(Math.random() *ALPHABET.length)]; }
                  // +1 Kleinbuchstabe
                if (randomNumber == 1){
                passwort += alphabet[Math.round(Math.random() *alphabet.length)];}
                  // +1 Zahl
                if (randomNumber == 2){
                   passwort += Numbers[Math.round(Math.random() *Numbers.length)];}
                    // +1 Sonderzeichen
                if (randomNumber == 3){
                passwort += SpecialChar[Math.round(Math.random() *SpecialChar.length)];}
    }
                if (passwort.includes("undefined")){
                console.log("Undefined Fehler, Passwort lautet " + passwort);}
                else{ console.log("Dein Passwort lautet : " +passwort )}

Glaube mit Switch Case wäre das besser als if, hab ich aber nie benutzt nur in Tutorials mal gesehen

Bild zum Beitrag
Computer, HTML, programmieren, CSS, JavaScript, Fachinformatiker, Informatik, JQuery, MySQL, web.de, Angular
PHP Error durch require()?

Hi, ich raff grad gar nix mehr, ich hab eine PHP Klasse dbConnection, in der ich mit require ein php File (settings.php) einbinde. Das einbinden funktioniert auch, nur binde ich innerhalb von settings.php ein weiteres php File ein, functions.php. Das wiederrum funktioniert nicht. Ich weiß, meine Erklärung ist bissle kompliziert, daher hier der Code:

dbConnection.php

<?php

try {
    require dirname($_SERVER["DOCUMENT_ROOT"]) . "/php/settings/settings.php";
} catch (Throwable|mysqli_sql_exception $exception) {
    error_log(date("d.m.Y, H:m:s") . " | " . $exception . "\n\n", 3, "/hp/cz/aa/gf/www/domains/domain.com/php/logs/php-errors.log");
    header("location: /error/?error=500");
    exit();
}

class dbConnection
{
...
}

settings.php

<?php

try {
    date_default_timezone_set("Europe/Berlin");
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    require dirname($_SERVER["DOCUMENT_ROOT"]) . "/php/functions/functions.php";
} catch (Throwable|mysqli_sql_exception $exception) {
    error_log(date("d.m.Y, H:m:s") . " | " . $exception . "\n\n", 3, "/hp/cz/aa/gf/www/domains/domain.com/php/logs/php-errors.log");
    header("location: /error/?error=500");
    exit();
}

hier die relevanten Pfade:

domain.com/php/classes/dbConnection.php

domain.com/php/settings/settings.php

domain.com/php/functions/functions.php

Der Fehler muss an der in settings.php Datei liegen, da ich schon einmal vor und nach dem require in settings.php ein die("hier"); gemacht habe und dabei als das die("hier"); VOR dem

require dirname($_SERVER["DOCUMENT_ROOT"]) . "/php/functions/functions.php";

"hier" ausgegeben hat, und NACH dem

require dirname($_SERVER["DOCUMENT_ROOT"]) . "/php/functions/functions.php";

mir angezeigt wurde, dass diese Seite nicht funktionieren würde. Komisch ist auch, dass der Fehler nicht aufgefangen wird, daher bin ich gerade etwas ratlos. Hoffe meine Frage ist verständlich, ansonsten gerne einfach nachfragen :)

Computer, Internet, HTML, Webseite, programmieren, MySQL, PHP
Verbindung zur Datenbank checken - PHP?

Hi, ich hab folgende Funktion in einer Klasse dbConenction:

private mixed $connection;

public function __construct()
{
    return $this->connect();
}

private function connect()
{
    try {
        $host = "localhost";
        $username = "USER_NAME";
        $pwd = "PWD";
        $database = "DB_NAME";
        $this->connection = new mysqli($host, $username, $pwd, $database);

        if ($this->connection->connect_error) {
            throw new Exception("Connection to database failed. | " . $this->connection->connect_error);
        }
        return $this->connection;
    } catch (Exception $exception) {
        $this->connection = null;
        databaseErrorHandling($exception);
        return null;
    }
}

Die Verbindung zur Datenbank funktioniert auch, ich kann Queries ausführen. Doch mein Problem, wenn ich zum Beispiel den Username für die Datenbank ändere, soll eigentlich durch

if ($this->connection->connect_error)

eine Exception geworfen werden, weil die Verbindung ja nicht aufgebaut werden kann, da der Username falsch ist. Das Gleiche funktioniert auch nicht, wenn ich zum Beispiel das Passwort ändere. Hab in den Docs von PHP nachgelesen und dort haben die das genauso gemacht...

$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

Jemand eine Idee, warum das nicht funktioniert, so wie es funktionieren sollte :D, oder Verbesserungsvorschläge?

Danke für jede Hilfe!!!

Computer, SQL, HTML, Webseite, programmieren, Datenbank, MySQL, PHP
PHP XLSX Writer überspringt erste Zeile - was tun?

Hey!

Ich habe gestern die Erweiterung PHP XLSX Writer gefunden und meinem System hinzugefügt. Ziel: Datenbank mit PHP (und mysqli) in ein Excel Dokument umwandeln. Irgendwie überspringt er die erste Zeile und spuckt mir im Dokument erst alles ab id=2 aus... Wisst ihr woran das liegt?

Danke schonmal für eure Antworten!

Hier noch der Quellcode von meiner export.php:

<?php
include "config.php";
include_once("../includes/excel/xlsxwriter.class.php");
//ini_set('display_errors', 0);
//ini_set('log_errors', 1);
//error_reporting(E_ALL & ~E_NOTICE);


    date_default_timezone_set('Europe/Berlin');
    $filename = "PZUS_" . date('Y-m-d') . ".xlsx";


    header('Content-disposition: attachment; filename="'.XLSXWriter::sanitize_filename($filename).'"');
    header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    header('Content-Transfer-Encoding: binary');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');   
    $sql="SELECT * FROM tbl_contact";
    $result = $link->query($sql); 
    $row = $result->fetch_assoc(); 
    $header = array(
      'ID'=>'string',
      'Nachname'=>'string',
      'Vorname'=>'string',
      'Klasse'=>'string',
      'Bemerkung'=>'string',
      'Datum'=>'string',
      'Email'=>'string',
      'Adresse'=>'string',
      'Tel'=>'string',
    );
    $writer = new XLSXWriter();
    $writer->writeSheetHeader('PZUS-1', $header);
    $array = array();
    while ($row=$result->fetch_assoc())
    {
        $array[1] = $row['id'];
        $array[2] = $row['fldSurname'];
        $array[3] = $row['fldFirstname'];
        $array[4] = $row['fldClass'];
        //$array[4] = $row['fldCourse'];
        $array[5] = $row['fldDmg'];
        $array[6] = $row['fldDate'];
        $array[7] = $row['fldEmail'];
        $array[8] = $row['fldAdress'];
        $array[9] = $row['fldTel'];
        $writer->writeSheetRow('PZUS-1', $array);
    };


    //$writer->writeSheet($array,'Sheet1', $header);//or write the whole sheet in 1 call    


    $writer->writeToStdOut();
    //$writer->writeToFile('example.xlsx');
    //echo $writer->writeToString();
    exit(0);
Computer, Microsoft Excel, HTML, programmieren, Export, MySQL, PHP
PHP User verifizieren?

Hi, ich bin grad dabei ne Website für ein kleines Startup zu programmieren und hänge grad am Login System. Ich hab dabei kein wirkliches Problem sondern eher ne allgemeine Frage:

Wie kann man sicher und sinnvoll einen User verifizieren

Momentan mache ich das so:
Ein User registriert sich, woraufhin in der Datenbank für diesen User ein einzigartiger "Verifizierungscode" generiert wird. Dieser wird dann, wenn er sich einloggt, auf dem PC des Users per Cookie gespeichert. Wenn der User jetzt auf sein Dashboard zugreifen will, wird einfach, wenn vorhanden, der Inhalt des Cookies mit allen Verifizierungscodes in der Datenbank abgeglichen und bei der Zeile, in der die Codes übereinstimmen, wird daraus dann der User geladen. Hoffe das ist verständlich, ansonsten einfach nachfragen.

Den Inhalt des Cookies kann man auch nicht durch irgendwelches rumprobieren herausfinden, da ich diesen mit password_hash() gehashed habe.

Mein Problem jetzt: Ich habe mir einige Docs und Sicherheitsberichte durchgelesen in denen häufig gesagt wird, man solle den User nicht nur anhand eines Cookies automatisch einloggen. Nur leider wird nirgends erwähnt, was man sonst noch so machen könnte, da die Gefahr, dass der Cookie geklaut wird oder ähnliches ja schon besteht. (Cookie Hijacking).

Hat jemand ne sinnvolle Antwort auf mein Problem oder andere Lösungsvorschläge?

Computer, Internet, HTML, Webseite, JavaScript, Cookies, Datenbank, MySQL, PHP
JavaFX TableView mit Daten aus der Datenbank füllen?

Hey Leute,

ich versuche gerade meine Tabelle mit Daten aus der Datenbank zu füllen aber dabei bekomme ich eine Fehlermeldung. Kann mir jemand dabei helfen?

Users Klasse:

public class Users {
    private int id;
    private String userToken;
    private String firstname;
    private String lastname;
    private String emailAddress;
    private String creationTime;
    private Button deleteButton;

    public Users(int id, String userToken, String firstName, String lastName, String emailAddress, String creationTime) {
        this.id = id;
        this.userToken = userToken;
        this.firstname = firstName;
        this.lastname = lastName;
        this.emailAddress = emailAddress;
        this.creationTime = creationTime;
    }
}

Die Fehlermeldung:

UserController:

public class UserController {

    @FXML
    private TableColumn<Users, Integer> idCol;

    @FXML
    private TableColumn<Users, String> creationTimeCol;

    @FXML
    private TableColumn<Users, String> emailCol;

    @FXML
    private TableColumn<Users, String> firstnameCol;

    @FXML
    private TableColumn<Users, String> lastnameCol;

    @FXML
    private TableColumn<Users, String> deleteCol;

    @FXML
    private TableColumn<Users, String> userTokenCol;

    @FXML
    private TableView<Users> table;

    @FXML
    private TextField textField;

    public void printUser() {
        ObservableList<Users> allUserList = FXCollections.observableArrayList();

        try {
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:2020/database", "root", "");
            System.out.println("Connected");
            //PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM usertable");
            ResultSet resultSet = connection.createStatement().executeQuery("SELECT * FROM usertable");
            while (resultSet.next())  {
                allUserList.add(new Users(Integer.parseInt(resultSet.getString("id")),
                        resultSet.getString("userToken"), resultSet.getString("firstName"),
                        resultSet.getString("lastName"), resultSet.getString("emailAddress"),
                        resultSet.getString("creationTime")));

            }

        } catch (SQLException ignored) {
            ignored.printStackTrace();
        }
        idCol.setCellValueFactory(new PropertyValueFactory<Users, Integer>("id"));
        userTokenCol.setCellValueFactory(new PropertyValueFactory<Users, String>("userToken"));
        firstnameCol.setCellValueFactory(new PropertyValueFactory<Users, String>("firstName"));
        lastnameCol.setCellValueFactory(new PropertyValueFactory<Users, String>("lastName"));
        emailCol.setCellValueFactory(new PropertyValueFactory<Users, String>("emailAddress"));
        creationTimeCol.setCellValueFactory(new PropertyValueFactory<Users, String>("creationTime"));
        table.setItems(allUserList);
        System.out.println("all user got");
    }
}

Bild zum Beitrag
Computer, programmieren, Java, Datenbank, JavaFX, MySQL, GUI
(C#) mariadb MySql Verbindung Fehler?

Moin,

einmal vorweg, es lief einmal. Nach einem Update auf der Datenbank dann aber nicht mehr...

string server = "xxx.xxx.xxx.xxx";
string database = "test2";
string uid = "root";
string password = "PASSWORT";
string connectionString;
connectionString = "SERVER=" + server + ";" + "DATABASE=" +
database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";SslMode=none;";
con = new MySqlConnection(connectionString);

Das ist der Connection String - das Passwort ist natürlich nicht "PASSWORT" und die IP-Adresse ist natürlich auch anders, aber passt.

Ich möchte nun einfach Daten empfangen;

var com = new MySqlCommand("SELECT * FROM levels", con);
con.Open();
var reader = com.ExecuteReader(); << Error

Jedoch springt er beim ExecuteReader(); mit folgender Meldung heraus;

"The given key '8704' was not present in the dictionary."

Habe bereits versucht eine andere Datenbank aufzusetzen - gleicher Fehler mit einem anderen Key.

So sieht eigentlich die Tabelle aus - eine Zeile ist eingefügt. Wie gesagt, es ging einmal - nachdem ich den Datentyp von INT zu BIGINT geändert hatte ging es dann nicht mehr (natürlich bringt das Zurücksetzen auch nichts, habe ja auch mit mehreren Datenbanken getestet).

Die NuGet ist auch Up-To-Date.

Ich verzweifle leider daran - hat jemand eine Idee, woran es liegen könnte?

LG

Bild zum Beitrag
Computer, Technik, programmieren, C Sharp, Datenbank, MySQL, Technologie, MariaDB, Spiele und Gaming

Meistgelesene Fragen zum Thema MySQL