PHP – die besten Beiträge

php-Zugriff auf mysql funktioniert nicht?

Ich habe folgende Funktion in PHP geschrieben:

function getName($id) {
                global $conn;
                $sql = "SELECT Vorname, Nachname FROM mitglieder WHERE ID = `$id`";
                $result = $conn->query($sql);
                if ($result->num_rows > 0) {
                    $row = $result->fetch_assoc();
                    return $row['Vorname'] . " " . $row['Nachname'];
                } else {
                    return "";
                }
            }

Aber aus irgendeinem Grund kommt immer folgende Fehlermeldung:

Warning: Attempt to read property "num_rows" on bool in C:\xampp\htdocs\***********.php on line 35

Diese Variable $conn funktioniert aber an anderer Stelle im globalen Code außerhalb dieser Funktion einwandfrei wie gewünscht und ich sehe vom Code her keinen nennenswerten Unterschied.

Was ich bereits versucht habe:

  • $conn als Parameter an die Funktion zu übergeben
  • $conn in der Funktion selber zu definieren
  • $conn in der Funktion selber definieren und dass $conn im globalen Code entfernen
  • ChatGPT nach dem Fehler fragen
  • Folgende Fehlerabfrage einzubauen (dabei war $conn auch in der Funktion selber und NUR in der Funktion selber definiert):
if ($conn->connect_error) {
                die("Serverfehler: " . $conn->connect_error);
            }

Das führte aber nur zu folgender Fehlermeldung:

Warning: Attempt to read property "connect_error" on null in C:\xampp\htdocs\*********.php on line 26

Hat alles nichts geholfen. Wisst ihr wo der Fehler liegt?

Computer, Technik, SQL, HTML, Webseite, programmieren, JavaScript, Code, Datenbank, MySQL, PHP, Programmiersprache, Webentwicklung, phpMyAdmin, Programmierfehler

PHP Upload funktioniert auf PC aber nicht aufm Handy?

Hallo,

dieser Code funktioniert nicht auf Handy aber auf dem PC, hat wer tipps?

Clientseite (JavaScript):
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <script src="https://code.jquery.com/jquery-3.7.1.js" integrity="sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4=" crossorigin="anonymous"></script></head>
<body>
<form id="fileUploadForm" enctype="multipart/form-data">
    <input type="file" name="file" id="fileInput" required>
    <button type="button" id="uploadButton">Hochladen</button>
</form>


<script>
    $(document).ready(function(){
        $('#uploadButton').on('click touchend', function(){
            var formData = new FormData($('#fileUploadForm')[0]);
            $.ajax({
                url: 'https://sub-upload.main.de/upload.php',
                type: 'POST',
                data: formData,
                processData: false,
                contentType: false,
                success: function(response){
                    console.log(response);
                    alert(response);
                },
                error: function(xhr, status, error){
                    alert(error + xhr.status);
                }
            });
        });
    });


</script>
</body>
</html>
Serverseite (upload.php):
<?php
$targetDirectory = '../uploads/';
header("Access-Control-Allow-Origin: https://sub.main.de");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Allow-Headers: Content-Type");
if (!file_exists($targetDirectory)) {
    mkdir($targetDirectory, 0777, true);
}
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['file'])) {
    $targetFile = $targetDirectory . basename($_FILES['file']['name']);
    if (move_uploaded_file($_FILES['file']['tmp_name'], $targetFile)) {
        echo 'Die Datei wurde erfolgreich hochgeladen.';
    } else {
        echo 'Beim Hochladen der Datei ist ein Fehler aufgetreten.';
    }
} else {
    echo 'Keine Datei zum Hochladen gefunden.';
}
?>
HTML, Webseite, JavaScript, HTML5, Code, Datenbank, JQuery, MySQL, PHP, Programmiersprache, Webdesign, Webentwicklung

Mongo DB Express auf Port :8081 zum Laufen kriegen. Was mach ich falsch?

Hab mal eine Frage zum Thema IT & Server & Ports und würde mich freuen wenn mir einer mit Fachkenntnissen weiterhelfen kann:

Also ich versuche hier seit Tagen eine kleine Webseite auf einem angemieteten Server (Debian 10) zum Laufen zu kriegen und möchte dabei das Datenbanksystem Mongo DB (+ das Webinterface mongo-express) verwenden. Die wichtigsten Grundabhängigkeiten wie Mongo DB, PHP, Java, node.js, npm etc. konnte ich bereits alle installieren und hab es nach sehr langem Herumprobieren sogar geschafft mit einem kleinen .sh Script den Port :8081 zu öffnen, sodass dieser zumindest in den IP-Tables angezeigt wird. Auch konnte ich (Mithilfe verschiedener Anleitungen) alle Anwendungen erfolgreich starten, teils erst nach dem Setzen einiger Umgebungsvariablen setzen und bekomme nun die Meldung, dass der DB-Express Server auf dem richtigen Port lauscht. Dennoch komm ich nun seit gestern nicht weiter bzw. mein Browser kann sich mit dem Port :8081 des Servers einfach nicht verbinden > "Netzwerkfehler", wobei die Ursache alles und nichts sein kann! Hab auch schon mit anderen Ports probiert mit ähnlichem Resultat. Meine Frage wäre jetzt ob irgendeiner diese Anwendung hier (dieses Problem) zufällig kennt oder weiß was hier zutun ist oder was ein mögliches Problem sein kann?   Ich hab da zwar eine wage Vermutung aber da ich das alles komplett blind und zum ersten mal mache und derzeit keinen *richtigen* IT-Experten habe wären ein paar Ratschläge, die jetzt nicht unbedingt in den Anleitungen stehen nicht schlecht?

Server, Linux, Netzwerk, Webseite, programmieren, Java, Apache, Firewall, Netzwerkverbindung, PHP, Port, Kommandozeile, MongoDB, Debian 10

Meistgelesene Beiträge zum Thema PHP