Php 无法更新sql值
我正在尝试更新mysql数据库上的一个值,但我做不到,我成功地从表中接收到数据,但在更新时它会显示“连接错误”,我不知道我缺少了什么 Panel.phpPhp 无法更新sql值,php,mysql,Php,Mysql,我正在尝试更新mysql数据库上的一个值,但我做不到,我成功地从表中接收到数据,但在更新时它会显示“连接错误”,我不知道我缺少了什么 Panel.php <?php require_once 'funciones/mysql.php'; $lista = $conexion->query("SELECT id, Nombre, apellidoPaterno FROM bomberos"); if ($lis
<?php
require_once 'funciones/mysql.php';
$lista = $conexion->query("SELECT id, Nombre, apellidoPaterno FROM bomberos");
if ($lista->num_rows > 0) {
while ($row = $lista->fetch_assoc()) {
echo "id: " . $row["id"] . " - Name: " . $row["Nombre"] . " " . $row["apellidoPaterno"] . "<br>";
?>
<table class="table table-bordered">
<tr>
<td>
<img src='images/bomberos/<?php echo $row['id']; ?>.jpg' height="10%" width="10%" style="opacity: 0.5;"/><br /><?php echo $row['Nombre'] . " " . $row["apellidoPaterno"]; ?>
<br />
<div class="icon-container">
<form method="post" action="funciones/disponible.php">
<input type="hidden" name="idBombero" value="<?php echo $row['id']; ?>">
<button type="submit"></button>
</form>
</div>
</td>
</tr>
</table>
<?php
}
} else {
echo "0 Resultados";
}
$conexion->close();
?>
mysql.php
<?php
//Datos de la conexion
$servidor = "localhost";
$usuario = "root";
$contraseña = "";
$basedatos = "sidesp";
//crear conexion
$conexion = new mysqli($servidor, $usuario, $contraseña, $basedatos);
//revisar conexion
if ($conexion->connect_error) {
die("conexion fallida: " . $conexion->connect_error);
}
?>
disposible.php
<?php
require_once 'mysql.php';
$consulta = "UPDATE 'estados' SET 'estado'='1' WHERE 'id'='".$_REQUEST['idBombero']."'";
if ($conexion->query($consulta) === true) {
return "Exito!";
}else{
return "Fallo!";
}
$idBombero = $_REQUEST['idBombero'];
$consulta = mysqli_query($conexion,"UPDATE `estados` SET `estado`='1' WHERE `id`='$idBombero'");
而且。。。保护所有这些的最佳方法是什么?我指的是反sql注入或解码您应该使用backticks来转义。你也应该使用准备好的陈述
$consulta = "UPDATE `estados` SET `estado` = '1' WHERE `id` = ?";
$result = $conexion->prepare($consulta);
$result->bind_param('i',$_REQUEST['idBombero']);
echo $result->execute() === true ? 'Success' : 'Failed: '.$conexion->error;
尝试在disponible.php中简化更新查询
<?php
require_once 'mysql.php';
$consulta = "UPDATE 'estados' SET 'estado'='1' WHERE 'id'='".$_REQUEST['idBombero']."'";
if ($conexion->query($consulta) === true) {
return "Exito!";
}else{
return "Fallo!";
}
$idBombero = $_REQUEST['idBombero'];
$consulta = mysqli_query($conexion,"UPDATE `estados` SET `estado`='1' WHERE `id`='$idBombero'");
有时多次嵌套过多的单引号和双引号会导致无效查询和语法错误。我总是建议在mysqli中使用fieldname作为字段名,而不是“fieldname”
希望这对你有帮助。如果是,请告诉我。您真的没有使用密码吗?确切的错误消息是什么?我实际上只在本地使用,这就是为什么我没有使用密码并使用它工作的原因!!!谢谢