Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

PHP não insere conteúdo no banco de dados mySQL:texto, imagens, qualquer coisa


Seu código está falhando por dois motivos.
  • Sua instrução condicional está procurando por um elemento nomeado chamado "enviar"
  • Você está tentando executar antes da instrução. Coloque sua consulta (mysqli_query() )"abaixo " os valores e faça mysqli_query($dbCon, $userREQ3) or die(mysqli_error($dbCon));

Nota lateral:Altere if ($_POST['submit']) { para if (isset($_POST['submit'])) { é melhor.

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

Injeção SQL:

Seu código atual está aberto para injeção de SQL . Use mysqli com declarações preparadas , ou PDO com declarações preparadas .

Além disso, você tem variáveis ​​no corpo do seu código, o que pode gerar uma variável indefinida x no carregamento inicial da página.

Como afirmado (nos comentários abaixo):Certifique-se de ter conectado ao seu banco de dados e usando um método mysqli e não outra API.

Diferentes APIs MySQL não se misturam. Use a mesma API MySQL da conexão para a consulta.

Adicionar relatório de erros no topo do(s) seu(s) arquivo(s), o que ajudará a encontrar erros.
<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Nota: O relatório de erros deve ser feito apenas na preparação e nunca na produção.

Consulta bem-sucedida ou não:

Para ver se a consulta foi realmente bem-sucedida ou falhou, verifique se há erros e use affected_rows .

Referências:

Se você estava tentando usar imagens, um enctype válido deve ser incluído nas tags de formulário.

Dependendo de como/o que você deseja inserir nas imagens, isso pode ser um fator.

Se você está querendo inserir a imagem como um caminho é uma coisa, mas usá-la "como uma imagem", digamos um BLOB então isso tem limitações de tamanho; use LONGBLOB e você deve escapar desses dados antes de entrar no banco de dados.

Consultar: