Formulario de inserción de datos PHP Y MYSQL

publicado por: Anonymous

Buenas noches realizo un formulario en el cual contiene checkbox pero al presionar el botón guardar me arroja el siguiente error.

Notice: Undefined variable: mysql in
C:xampphtdocsejerciciocursoguardar.php on line 30

Fatal error: Call to a member function query() on null in
C:xampphtdocsejerciciocursoguardar.php on line 30

_x000D_

_x000D_

<?php_x000D_
	_x000D_
	require 'conexion.php';_x000D_
	_x000D_
	$nombre = $_POST['nombre'];_x000D_
	$email = $_POST['email'];_x000D_
	$telefono = $_POST['telefono'];_x000D_
	$estado_civil = $_POST['estado_civil'];_x000D_
	$hijos = isset($_POST['hijo']) ? $_POST['hijos'] : 0;_x000D_
	$intereses = isset($_POST['intereses']) ? $_POST['intereses'] : null;_x000D_
	_x000D_
	$arrayIntereses = null;_x000D_
	_x000D_
	$num_array = count($intereses);_x000D_
	$contador = 0;_x000D_
	_x000D_
	if($num_array>0){_x000D_
		foreach ($intereses as $key => $value) {_x000D_
			if ($contador != $num_array-1)_x000D_
			{_x000D_
				$arrayIntereses .= $value.' ';_x000D_
				$contador++;_x000D_
				} else {_x000D_
				$arrayIntereses .= $value;_x000D_
			}_x000D_
		}_x000D_
	}_x000D_
	_x000D_
	$sql = "INSERT INTO personas (nombre, correo, telefono, estado_civil, hijos, intereses) VALUES ('$nombre', '$email', '$telefono', '$estado_civil', '$hijos', '$arrayIntereses')";_x000D_
	$resultado = $mysqli->query($sql);_x000D_
	_x000D_
?>_x000D_
_x000D_
<html lang="es">_x000D_
	<head>_x000D_
		_x000D_
		<meta name="viewport" content="width=device-width, initial-scale=1">_x000D_
		<link href="css/bootstrap.min.css" rel="stylesheet">_x000D_
		<link href="css/bootstrap-theme.css" rel="stylesheet">_x000D_
		<script src="js/jquery-3.1.1.min.js"></script>_x000D_
		<script src="js/bootstrap.min.js"></script>	_x000D_
	</head>_x000D_
	_x000D_
	<body>_x000D_
		<div class="container">_x000D_
			<div class="row">_x000D_
				<div class="row" style="text-align:center">_x000D_
					<?php if($resultado) { ?>_x000D_
						<h3>REGISTRO GUARDADO</h3>_x000D_
						<?php } else { ?>_x000D_
						<h3>ERROR AL GUARDAR</h3>_x000D_
					<?php } ?>_x000D_
					_x000D_
					<a href="index.php" class="btn btn-primary">Regresar</a>_x000D_
					_x000D_
				</div>_x000D_
			</div>_x000D_
		</div>_x000D_
	</body>_x000D_
</html>

_x000D_

_x000D_

_x000D_

solución

🙂

Asegurate que la variable $mysqli la hayas definido antes en el archivo de la conexión.
Como lo indica en el error al intentar executar la funcion query() falla pues el valor de $mysqli es nulo.
Tu variable debe estar definida así:

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

De lo controrario, podrías intentarlo de la manera procedural, ya que parece que lo estás combinando con Orientada a Objetos:

(Archivo De Conexión)

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

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

.
.
.
.

Obteniendo el resultado

$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)

Espero que sea de tu ayuda.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *