Mysql
 sql >> Database >  >> RDS >> Mysql

PHP non inserisce contenuto nel database MySQL:testo, immagini, qualsiasi cosa

Il tuo codice non riesce per due motivi.

  • La tua istruzione condizionale sta cercando un elemento denominato "submit"
  • Stai cercando di eseguire prima dell'istruzione. Inserisci la tua query (mysqli_query() )"sotto " i valori e fare mysqli_query($dbCon, $userREQ3) or die(mysqli_error($dbCon));

Nota a margine:cambia if ($_POST['submit']) { a if (isset($_POST['submit'])) { è meglio.

e <input type="submit" value="Write Post"/>
a <input type="submit" name="submit" value="Write Post"/>

Iniezione SQL:

Il tuo codice attuale è aperto a SQL injection . Usa mysqli con dichiarazioni preparate o DOP con dichiarazioni preparate .

Inoltre, hai variabili nel corpo del tuo codice, che potrebbero generare una variabile x non definita al caricamento iniziale della pagina.

Come affermato (nei commenti sotto):assicurati di esserti connesso al tuo database e di aver utilizzato un metodo mysqli e non un'altra API.

API MySQL diverse non si mescolano tra loro. Usa la stessa API MySQL dalla connessione alla query.

Aggiungi segnalazione errori nella parte superiore dei tuoi file che ti aiuteranno a trovare gli errori.

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

// rest of your code

Nota a margine: La segnalazione degli errori dovrebbe essere eseguita solo nella gestione temporanea e mai nella produzione.

Richiesta riuscita o meno:

Per vedere se la query ha avuto esito positivo o negativo, verifica la presenza di errori e utilizza affected_rows .

Riferimenti:

Se stavi cercando di utilizzare le immagini, è necessario includere un enctype valido nei tag del modulo.

A seconda di come/cosa volevi inserire per le immagini, questo potrebbe essere un fattore.

Se vuoi inserire l'immagine come percorso è una cosa, ma usarla "come immagine", ad esempio un BLOB, che ha limitazioni di dimensioni; usa LONGBLOB e devi sfuggire a quei dati prima di entrare nel database.

Consulta: