Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP fügt keine Inhalte in die mySQL-Datenbank ein:Text, Bilder, alles

Ihr Code schlägt aus zwei Gründen fehl.

  • Ihre bedingte Anweisung sucht nach einem benannten Element namens "submit"
  • Sie versuchen, vor der Anweisung auszuführen. Platzieren Sie Ihre Abfrage (mysqli_query() )"unten " die Werte und führen Sie mysqli_query($dbCon, $userREQ3) or die(mysqli_error($dbCon)); aus

Nebenbemerkung:Ändere if ($_POST['submit']) { zu if (isset($_POST['submit'])) { es ist besser.

und <input type="submit" value="Write Post"/>
an <input type="submit" name="submit" value="Write Post"/>

SQL-Injection:

Ihr aktueller Code ist offen für SQL-Injection . Verwenden Sie mysqli mit vorbereiteten Statements , oder PDO mit vorbereiteten Anweisungen .

Außerdem haben Sie Variablen im Hauptteil Ihres Codes, die die undefinierte Variable x beim erstmaligen Laden der Seite auslösen können.

Wie angegeben (in den Kommentaren unten):Stellen Sie sicher, dass Sie sich mit Ihrer Datenbank verbunden haben und eine mysqli-Methode und keine andere API verwenden.

Unterschiedliche MySQL-APIs vermischen sich nicht miteinander. Verwenden Sie dieselbe MySQL-API von der Verbindung bis zur Abfrage.

Fügen Sie Fehlerberichterstattung hinzu an den Anfang Ihrer Datei(en), um Fehler zu finden.

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Nebenbemerkung: Die Fehlerberichterstattung sollte nur in der Staging- und niemals in der Produktionsumgebung erfolgen.

Erfolgreiche Abfrage oder nicht:

Um zu sehen, ob die Abfrage tatsächlich erfolgreich war oder fehlgeschlagen ist, suchen Sie nach Fehlern und verwenden Sie affected_rows .

Referenzen:

Wenn Sie versucht haben, Bilder zu verwenden, muss ein gültiger Enctype in die Formular-Tags eingeschlossen werden.

Je nachdem, wie/was Sie für die Bilder einfügen wollten, könnte dies ein Faktor sein.

Wenn Sie das Bild als Pfad einfügen möchten, ist dies eine Sache, aber wenn Sie es "als Bild" verwenden, sagen Sie ein BLOB, dann hat dies Größenbeschränkungen. Verwenden Sie LONGBLOB und Sie müssen diese Daten maskieren, bevor Sie in die Datenbank gehen.

Konsultieren: