Como hacer dos o mas registros a la vez en php

No encuentro paginas por internet, necesito códigos para ver como funciona los INSERT INTO para hacer dos registros con un solo insert, por ejemplo poner los números iguales a dos tipos diferentes:
intTipo="1"
intNumero1="35", intNumero2="57", intNumero3="96", intNumero="125", intNumero="148";
ahora quiero hacer todos los mismos números de intNumero a intTipo="3"
intTipo="3"
intNumero1="35", intNumero2="57", intNumero3="96", intNumero="125", intNumero="148";
lo he intentado así:
$insertSQL .....(intTipo, intNumero1, intNumero2, intNumero3, intNumero4) VALUES(1, %es, %es, %es, %es), (3, %es, %es, %es, %es)",
bueno, si puedes muéstrame un ejemplo de dos registros.

4

4 respuestas

Respuesta
-1

Que tal no se si entendí bien tu pregunta pero imagino que lo que quieres es insertar mas de un registro en una tabla con una sola instrucción y la forma que colocas es la correcta

Ejemplo

INSERT INTO usuario(id,usuario,pass,tipo) VALUES
('1','. Mario','123','1'),
('2','. Maria','321','1'),
('1','. Mariana','132','1');

espero te sea de ayuda si no es así házmelo saber para entendernos mejor

Respuesta
-1

La estructura que usaste en la consulta esta bien, de pronto el problema son las '' y "" dependiendo del tipo de dato que uses en la base de datos, la estructura es esta:

insert into ciudades(ciudad) VALUES ('Ibagué'), ('Cali'), ('Manizales');

Que es muy similar a la que tienes, se utilizan las ' cuando son varchar y " para introducir tus variables, intenta así:

$InsertSQL ...(intTipo, intNumero1, intNumero2, intNumero3, intNumero4) VALUES(1, '%es', '%es', '%es', '%es'), (3, '%es', '%es', '%es', '%es')",

Mira si te sirve y me avisas, ayudaría mas si me pasas el tipo de variables que usas en la BD y un poco mas de código.

hola amigo, ya lo hice con doble comillas y sin resultado,

ahí te paso la pagina con toda la información

http://www.deisydaniela.com/registros.htm

en la BD es todo con INT

intTipo (INT)

intNum1 (INT)

.....

.....

intComplementario (INT)

intNum2 (INT)

fchFecha (DATE)

SALUDOS

El código php trabaja por orden, estas llamando las variables antes de crearlas y por eso no las toma, pon este código antes del que me pasaste

GetSQLValueString($_POST['intTipo'], "int"),
GetSQLValueString($_POST['int1'], "int"),
GetSQLValueString($_POST['int2'], "int"),
GetSQLValueString($_POST['int3'], "int"),
GetSQLValueString($_POST['int4'], "int"),
GetSQLValueString($_POST['int5'], "int"),
GetSQLValueString($_POST['int6'], "int"),
GetSQLValueString($_POST['intComplementario'], "int"),
GetSQLValueString(DateToQuotedMySQLDate($_POST['fchFecha']), "text"));
mysql_select_db($database_conexionzapatos, $conexionzapatos);
$Result1 = mysql_query($insertSQL, $conexionzapatos) or die(mysql_error());

De esta manera se interpreta primer y va a funcionar, ensaya de todas maneras con y sin ", si no te funciona trabajaremos con variables individuales para cada uno pero ensaya primero y me avisas.

Hola amigo, hice la prueba con comillas y es imposible, no sale la pagina,
sin comillas si sale la pagina,
VALUES (%es, %es, %es, %es, %s, %s) con solo un parentesis si funciona y tambien inserta los datos,
VALUES (%s, %s, %s, %s, %s), (%s, %s, %s, %s, %s), con dos parentesis si abre la pagina pero al insertar me sale: Query was empty,

mi otra pregunta es: estudiastes php curso por internet a distancia?, saludos.

No estudie a distancia, lo hice en la universidad, el problema es que tienes que borrar GetSQLValueString($_POST['intTipo'], "int"), porque te esta corriendo todos los registros, revisa y veras que el 1 esta en la segunda columna en la bd, borra eso y ensaya, si no te funciona deberías copiar y pegar todos los getsql para tener dos de cada uno, ensaya y me dices

Gracias amigo, todo solucionado, pásame tu correo para enviarte 4 módulos de admin de un programador que se olvido y yo las pille, ya me dirá que te parece o ya sabrás hacer eso, bueno, enviar ese archivo no cuesta nada, saludos.

Mi correo por si necesitas algo es [email protected], me escribes para cualquier duda, también cierra la pregunta

Respuesta
-1

Para poder realizar dos inser en uno es así:

insert into tabla(campo) values (11) ,(22),(20) ;

Y así ... solo le das ,(valor) para agregar uno valor al campos dado

Suerte!

Hola, en que parte de colombia estas?, saludos.

Lo siento, soy de chile

Respuesta
-1

Claro, puedes mirar la referencia aquí:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);

o a referencia para mysql aquí: http://dev.mysql.com/doc/refman/5.5/en/insert.html

Cualquier cosa me indicas

Hola, hice la prueba con comillas y es imposible, no sale la pagina,
sin comillas si sale la pagina,
VALUES (%s, %es, %es, %es, %es, %es) con solo un paréntesis si funciona y también inserta los datos,
VALUES (%es, %es, %es, %es, %es), (%es, %es, %es, %es, %s), con dos parentesis si abre la pagina pero al insertar me sale Query was empty,, hecha un vistazo a mi pagina:

http://www.deisydaniela.com/registros.htm

saludos

Intenta de este modo.

 $insertSQL = "INSERT INTO tbldatos (intTipo, intNum1, intNum2, intNum3, intNum4, intNum5, intNum6, intComplementario, fchFecha) VALUES 
 (1, '".GetSQLValueString($_POST['intTipo'], "int")."', '".GetSQLValueString($_POST['int1'], "int")."', '".GetSQLValueString($_POST['int2'], "int")."', '".GetSQLValueString($_POST['int3'], "int")."', '".GetSQLValueString($_POST['int4'], "int")."', '".GetSQLValueString($_POST['int5'], "int")."', '".GetSQLValueString($_POST['int6'], "int")."', '".GetSQLValueString($_POST['intComplementario'], "int")."', '".GetSQLValueString(DateToQuotedMySQLDate($_POST['fchFecha']), "text")."'),
 (4, '".GetSQLValueString($_POST['intTipo'], "int")."', '".GetSQLValueString($_POST['int1'], "int")."', '".GetSQLValueString($_POST['int2'], "int")."', '".GetSQLValueString($_POST['int3'], "int")."', '".GetSQLValueString($_POST['int4'], "int")."', '".GetSQLValueString($_POST['int5'], "int")."', '".GetSQLValueString($_POST['int6'], "int")."', '".GetSQLValueString($_POST['intComplementario'], "int")."', '".GetSQLValueString(DateToQuotedMySQLDate($_POST['fchFecha']), "text")."')";

me cuentas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas