Foros del Web » Programando para Internet » PHP »

insertar fecha actual arreglar error mysqli

Estas en el tema de insertar fecha actual arreglar error mysqli en el foro de PHP en Foros del Web. Hola a todos primero que nada mi codigo php me da un error en la linea 48 Cita: Warning: mysqli_query() expects parameter 3 to be ...
  #1 (permalink)  
Antiguo 30/03/2016, 02:27
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 23 años, 2 meses
Puntos: 0
insertar fecha actual arreglar error mysqli

Hola a todos

primero que nada mi codigo php me da un error en la linea 48
Cita:
Warning: mysqli_query() expects parameter 3 to be long, object given in
, cambie o actualice algunos parametros de mysql a mysqli pero aun asi no e deja insertar datos dandome el error anterior...

segundo: tengo mi BD lista con un campo "fecha" del tipo timestamp y current_timestamp pero no puedo arreglar mi codigo para que funcione lo de las fechas

podrian revisar mi codigo y ayudarme por favor

gracias



Código PHP:
<?php
//Crear conexión a la Base de Datos
$conexion mysqli_connect("localhost","carab","esmipass32565");
if (!
$conexion) {
die(
"Fallo la conexión a la Base de Datos: " mysql_error());
}

//Seleccionar la Base de Datos a utilizar
$seleccionar_bd mysqli_select_db($conexion"carab");
if (!
$seleccionar_bd) {
die(
"Fallo la selección de la Base de Datos: " mysql_error());
}

//Tomar datos del Formulario
$dni$_POST['dni'];
$nombre $_POST['nombre'];
$apellido $_POST['apellido'];

//Inserta campos en la Base de Datos
$consulta mysqli_query($conexion,"SELECT cedula FROM participante_inscrito WHERE dni= {$dni}");
$total_encontrado mysqli_num_rows($consulta);

if (
$total_encontrado 0) {
 echo (
"<h3 align='center'>DNI ya registrado. </h3>");

 }else{
     
$insertar mysqli_query($conexion,"INSERT INTO participante_inscrito VALUES ({$dni},'{$nombre}','{$apellido}')"$conexion);
     echo(
"<center>");
     echo (
"<h3>Registro Realizado con exito.</h3>");
     echo (
"<h3>Gracias =)</h3>");
     echo (
"<form name='form2' action='index.php'><input type='submit' value='Regristrar otro usuario'></input>
     </form>"
);
     echo (
"</center>");
     }
if (!
$insertar) {
   
   
     echo(
"<center>");
     echo (
"<form name='form3' action='index.php'><input type='submit' value='Regresar a pagina de registro'></input>
     </form>"
);
     die(
"<h4>Error interno. Contacte al administrador</h4>");
     echo (
"</center>");


}
//Cerrar conexión a la Base de Datos
mysql_close($conexion);
?>
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO
  #2 (permalink)  
Antiguo 30/03/2016, 02:56
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 1 mes
Puntos: 123
Respuesta: insertar fecha actual arreglar error mysqli

Esto es de manual, no basta con añadir una i en mysql_*
Fijate que mysqli_connect espera 4 parámetros y que mysqli_select_db es prescindible
Código PHP:
Ver original
  1. <?php
  2. $enlace = mysqli_connect('localhost', 'mi_usuario', 'mi_contraseña', 'mi_bd');
  3.  
  4. if (!$enlace) {
  5.     die('Error de Conexión (' . mysqli_connect_errno() . ') '
  6.             . mysqli_connect_error());
  7. }
  8.  
  9. echo 'Éxito... ' . mysqli_get_host_info($enlace) . "\n";
  10.  
  11. mysqli_close($enlace);
  12. ?>
  #3 (permalink)  
Antiguo 30/03/2016, 04:26
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: insertar fecha actual arreglar error mysqli

Cita:
Iniciado por MARKWEB Ver Mensaje
Hola a todos

primero que nada mi codigo php me da un error en la linea 48 , cambie o actualice algunos parametros de mysql a mysqli pero aun asi no e deja insertar datos dandome el error anterior...

segundo: tengo mi BD lista con un campo "fecha" del tipo timestamp y current_timestamp pero no puedo arreglar mi codigo para que funcione lo de las fechas
Lo del error lo puedes resolver viendo el manual. Como ya te dijeron, no es solo cambiar el prefijo "mysql:" por "mysqli:". El orden y tipos de parametros cambia.
En ese sentido, ¿TE diste cuenta que el tercer parámetro que pones es la repeticion de la conexión del primero? Eso está mal.
Ver manual de referencia on line: http://php.net/manual/es/mysqli.query.php

Código PHP:
Ver original
  1. mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

Lo de la fecha, ya lo preguntaste en el Foro de MySQL, y te respondieron ayer (http://www.forosdelweb.com/f86/inser...ctual-1149753/), no veo que hayas aplicado la solución que te indicaron que es funcionalmente correcta.
Ten en cuenta que MySQL no puede adivinar qué campos y en qué orden estás por ingresar, sólo tiene sus reglas dfe fncionamiento y son simples:
1) Si no se indican los campos en el INSERT INTO tabla, el VALUES tiene que tener los datos en el mismo orden y del mismo tipo que aparecen en la tabla.
2) Si no se insertan todos los campos, o los datos no llegan en el mismo orden de la tabla, se debe indicar sí o sí los campos a llenar en el mismo orden del VALUES.
3) Si algún dato es nulable, se deben listar todos los campos a llenar, omitiendo solo los que tendrán NULL, o bien poner NULLL en el valor del campo.

No son reglas difíciles de seguir:
Caso 1:
Código PHP:
Ver original
  1. $insertar = mysqli_query($conexion,"INSERT INTO participante_inscrito VALUES ({$dni},'{$nombre}','{$apellido}', NULL)");

Caso 2:
Código PHP:
Ver original
  1. $insertar = mysqli_query($conexion,"INSERT INTO participante_inscrito(nombre, apellido, dni) VALUES ('{$nombre}','{$apellido}', {$dni})");

Caso 3:
Código PHP:
Ver original
  1. $insertar = mysqli_query($conexion,"INSERT INTO participante_inscrito(dni, nombre, apellido, fecha) VALUES ({$dni},'{$nombre}','{$apellido}', NULL)");

Por cierto, tu tabla tiene al menos un defecto gravísimo: Carece de clave primaria. Eso es fundamental y no puede ser omitida. Una tabla sin PK no es una tabla, es una bolsa de datos basura (no es peyorativo, así dijeron en una clase de BBDD en la universidad).
__________________
¿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: actual, arreglar, fecha, formulario, mysql, mysqli, registro, select
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 14:11.