Форма вставки данных PHP и MYSQL


Спокойной ночи я делаю форму, в которой она содержит checkbox, но нажатие кнопки Сохранить выдает мне следующую ошибку.

Notice: Undefined переменная: mysql in C:\xampp\htdocs\ejercicio\curso\guardar.php on line 30

фатальная ошибка: вызов функции member query () on null in C:\xampp\htdocs\ejercicio\curso\guardar.php on line 30

<?php
	
	require 'conexion.php';
	
	$nombre = $_POST['nombre'];
	$email = $_POST['email'];
	$telefono = $_POST['telefono'];
	$estado_civil = $_POST['estado_civil'];
	$hijos = isset($_POST['hijo']) ? $_POST['hijos'] : 0;
	$intereses = isset($_POST['intereses']) ? $_POST['intereses'] : null;
	
	$arrayIntereses = null;
	
	$num_array = count($intereses);
	$contador = 0;
	
	if($num_array>0){
		foreach ($intereses as $key => $value) {
			if ($contador != $num_array-1)
			{
				$arrayIntereses .= $value.' ';
				$contador++;
				} else {
				$arrayIntereses .= $value;
			}
		}
	}
	
	$sql = "INSERT INTO personas (nombre, correo, telefono, estado_civil, hijos, intereses) VALUES ('$nombre', '$email', '$telefono', '$estado_civil', '$hijos', '$arrayIntereses')";
	$resultado = $mysqli->query($sql);
	
?>

<html lang="es">
	<head>
		
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="css/bootstrap.min.css" rel="stylesheet">
		<link href="css/bootstrap-theme.css" rel="stylesheet">
		<script src="js/jquery-3.1.1.min.js"></script>
		<script src="js/bootstrap.min.js"></script>	
	</head>
	
	<body>
		<div class="container">
			<div class="row">
				<div class="row" style="text-align:center">
					<?php if($resultado) { ?>
						<h3>REGISTRO GUARDADO</h3>
						<?php } else { ?>
						<h3>ERROR AL GUARDAR</h3>
					<?php } ?>
					
					<a href="index.php" class="btn btn-primary">Regresar</a>
					
				</div>
			</div>
		</div>
	</body>
</html>
Author: Pikoh, 2018-02-21

1 answers

:)

Убедитесь, что переменная $mysqli была определена ранее в файле соединения. Как указано в ошибке при попытке выполнить функцию query() терпит неудачу, поскольку значение $mysqli равно нулю. Ваша переменная должна быть определена следующим образом:

$mysqli = new mysqli("Hosting", "tu_usuario", "tu_contraseña", "basededatos");

В противном случае вы можете попробовать процедурный способ, так как кажется, что вы объединяете его с объектно-ориентированным:

(Файл Подключения)

$hostnombre = "localhost";
$dbusuario = "usuario";
$dbnombre = "NombreBaseDedatos";
$dbcontraseña = "contraseña";

$mysqli = mysqli_connect($hostnombre, $dbusuario, $dbcontraseña, $dbnombre);

.. . .

Получение результат

$sql = "INSERT INTO personas (nombre, correo, telefono, estado_civil, hijos, intereses) VALUES ('$nombre', '$email', '$telefono', '$estado_civil', '$hijos', '$arrayIntereses')";

$resultado = mysqli_query($mysqli, $sql, MYSQLI_USE_RESULT)

Надеюсь, это ваша помощь.

 3
Author: NamelessDude, 2018-02-21 07:37:28