gpt4 book ai didi

php - 在表中添加新列后,我无法再插入数据

转载 作者:行者123 更新时间:2023-11-29 09:32:04 25 4
gpt4 key购买 nike

我正在做类似发布工具的东西,它在将数据插入数据库时​​运行良好。我决定添加字段链接并出现此错误:

可恢复的 fatal error :类 mysqli 的对象无法转换为 C:\xampp\htdocs\Pequeno Davi 2 Versão completa\Painel de postagens\armazenar_postagens.php 第 23 行中的字符串

我的代码:

<body>
<div class="col-md-4"></div>
<div class="col-md-4">
<div id="well well-sm">
<div id="panel">
<form action="armazenar_postagens.php" method="POST" enctype="multipart/form-data">
<h4>Escolha uma imagem de capa</h4>
<p><input type="file" name="image" id="image" class="form form-control"/></p>
<h4>Título da publicação</h4>
<p><input type="text" name="titulo" id="titulo" placeholder="Insira um título" class="form form-control"/></p>
<h4>Texto da publicação</h4>
<p><textarea name="descricao" id="descricao" placeholder="Texto da publicação" class="form form-control"></textarea></p>
<h4>Link</h4>
<p><input type="text" name="link" id="link" placeholder="Insira o endereço de um link" class="form form-control"/></p>
<h4>Adicione uma imagem para o corpo da publicação</h4>
<p><input type="file" name="image_imagem" id="image_imagem" class="form form-control"/></p>
<button type="submit" class="btn btn-primary form-control">Publicar</button>
</form>
<!--<?php
//if($campo_vazio == 1){
//echo '<font color="#FF0000">Você não preencheu algum dos campos!</font>';
//}
?> -->
</div>
</div>
</div>
<div class="col-md-4"></div>
<div class="col-md-4"></div>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

</body>
<?php

require_once('db.class.php');

$titulo = $_POST['titulo'];
$descricao = $_POST['descricao'];
$link = $_POST['link'];

date_default_timezone_set('America/Sao_Paulo');
$data = date("d/m/Y");
$hora = date("H:i");

$uploaddir = 'imagens/uploads/';
$uploadfile = $uploaddir.basename($_FILES['image']['name']);
$imagename = $uploaddir.basename($_FILES['image']['name']);

$objDb = new db();
$link = $objDb-> conecta_mysql ();


if(move_uploaded_file($_FILES['image']['tmp_name'], $uploadfile)){
echo "Imagem enviada com sucesso";
$sql = "INSERT INTO postagens(titulo, descricao, data, hora, imagem_capa, link) VALUES ('$titulo', '$descricao', '$data', '$hora', '$imagename', '$link')";
echo'<img src="'.$imagename.'"/>' ;
if(mysqli_query($link, $sql)){
if(empty($titulo) || empty($descricao)){
header('Location: Ferramenta_postagem.php?campo_vazio=1');
}else{
header('Location: Ferramenta_postagem.php');
}

} else {
echo 'Erro ao registrar postagem!';
echo("Error description: " . mysqli_error($link));
}
}

?>

最佳答案

这行代码导致了问题

if(mysqli_query($link, $sql)){

您在开始时定义

$link = $_POST['link'];

在中间您使用了以下代码

 $link = $objDb-> conecta_mysql ();

使用相同变量名称的地方

但是 mysqli_query($link 需要一个 mysql 连接,而不是在开始时定义的 $Link

将 $link 与 $conn 交换并在

中使用
$conn = $objDb-> conecta_mysql ();
----
mysqli_query($conn,sql

由于sql注入(inject),请阅读准备好的语句

关于php - 在表中添加新列后,我无法再插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58493857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com