Foros del Web » Programando para Internet » PHP »

no me permite insertar datos con mysqli

Estas en el tema de no me permite insertar datos con mysqli en el foro de PHP en Foros del Web. buenas noches tengo una duda Soy nuevo manejando mysqli pero cuando programaba con mysql normal, podia realizar funciones y operaciones con los datos capturados de ...
  #1 (permalink)  
Antiguo 24/10/2015, 23:38
 
Fecha de Ingreso: mayo-2013
Ubicación: venezuela
Mensajes: 6
Antigüedad: 10 años, 11 meses
Puntos: 1
no me permite insertar datos con mysqli

buenas noches tengo una duda

Soy nuevo manejando mysqli pero cuando programaba con mysql normal, podia realizar funciones y operaciones con los datos capturados de mis objetos al instanciar una clase, ahora bien.

al parecer no me lo permite de la manera acostumbrada, y este codigo no me permite utilizar variables capturadas, dejo el codigo para que entiendan mejor

<?php

class Conextion {



public $servidor;
public $usuario;
public $clave;
public $base;


public function conn(){

$this->servidor = "localhost";
$this->usuario = "root";
$this->clave = "";
$this->base = "practica";


$mysqli = mysqli_connect($this->servidor, $this->usuario,$this->clave,$this->base);


if ($mysqli->connect_errno) {
echo "No le dio la gana de conectar, chucha madre!!";
}else {
echo "Si conecta";
mysqli_close($mysqli);

}

}
}

$obj = new Conextion;
$obj->conn();

//print_r($mysqli);

?>

Con esta funcion realizo la comunicacion con la base de datos la cual es exitosa
y deja el proceso en la variable $mysqli.

<?php

include_once ("ClsConexion.php");

class Ingresar extends Conextion {



public function InsertarDatos($valor1,$valor2) {
$this->conn();

//al ejecutar me dice que la variable $mysqli no lo ve, no entiendo el xq
// de hecho, no se xq lo ve como una variable si es la comunicacion con la base de datola cual
//Si la realiza.

//Undefined variable: mysqli in C:\wamp\www\NERV\modelo\insertar.php on line 13
mysqli_query($mysqli,"INSERT INTO tabla1 ('id_practica','nombre','numero')
VALUES (NULL,'$valor1','$valor2')") or die ("Problemas en el INSERT ".mysqli_error($mysqli));

mysqli_close($mysqli);

}
}

$obj = new Ingresar;
$a = $obj->InsertarDatos("Diana","33");
//soy nuevo en Mysqli pero no consigo ver las variables con la informacion tomadas de las funciones
//como lo hacia con mysql, disculpen mi ignorancia pero podrian decirme que hacer??
?>

Podrian ayudarme indicandome que estoy haciendo mal, quisiera aprender de mi errorcon su ayuda, disculpen la molestia
  #2 (permalink)  
Antiguo 25/10/2015, 04:43
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: no me permite insertar datos con mysqli

Tienes un error grave de sintaxis en el SQL.
Estas confundiendo los apostrofos (') con los acentos agudos al poner la lista de campos del INSERT. Al usar los apostrofos allí se transforman en cadenas de texto y no nombres de columnas.

Por otro lado ni siquiera te molestas en capturar el error devuelto por MySQL, con lo que jamás sabrás que pasa. Al menos un " or die () " deberías haber puesto.
Que algo parezca bien escrito no implica jamás que no haya errores, incluso de datos. Siempre debes verificar si hubo fallo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: mysql, mysqli, permite, sql, tabla, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:38.