Foros del Web » Programando para Internet » PHP »

Conectar php con mysql.

Estas en el tema de Conectar php con mysql. en el foro de PHP en Foros del Web. Alguien puede decirme q hay mal en este codigo, no consigo insertar los datos en la tabla. Código PHP: set_time_limit ( 1800 );  $cin  = array( ...
  #1 (permalink)  
Antiguo 22/08/2012, 07:36
 
Fecha de Ingreso: enero-2010
Mensajes: 239
Antigüedad: 14 años, 3 meses
Puntos: 0
Conectar php con mysql.

Alguien puede decirme q hay mal en este codigo, no consigo insertar los datos en la tabla.


Código PHP:
set_time_limit(1800); 

$cin = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50);

$db mysql_pconnect("localhost""root"""); 
if(!
$db

echo 
"Error"
exit; 

mysql_select_db("euro"); 

for(
$x=0$x<46$x++) 

for(
$a=1$a<47$a++) 

if(
$x<$a

for(
$b=2$b<48$b++) 

if(
$a<$b

for(
$c=3$c<49$c++) 

if(
$b<$c

for(
$d=4$d<50$d++) 

if(
$c<$d



$query "insert into total values ('".$cin[$x]."', '".$cin[$a]."', '".$cin[$b]."', '".$cin[$c]."', '".$cin[$d]."')"

mysql_query($query,$db); 

}}}}}}}}} 

 echo 
mysql_affected_rows()." total."
  
 
mysql_close($db); 

Me da este resultado -1 total.

Fotos en facebook, más detalles!
Tengo Wamp 2.2 instalado.


http://www.facebook.com/media/set/?s...1&l=9d3b63c697


Cambie el codigo por uno mas sencillo y sigue pasando lo mismo, filas creadas -1 total. Error no me da, solo q no inserta los datos en mi tabla.


Código PHP:
$cin = array(1,2,3,4,5,6,7,8,9,10);

$db mysql_pconnect("localhost""root""");

if(!
$db)
{
echo 
"Error";
exit;
}
mysql_select_db("prueba");

$x=0;
$a=1;
$b=2;
$c=3;

for(
$d=4$d<10$d++)
{



$query "insert into tablauno values ('".$cin[$x]."', '".$cin[$a]."', '".$cin[$b]."', '".$cin[$c]."', '".$cin[$d]."')";

mysql_query($query,$db);

}

 echo 
mysql_affected_rows()." total.";
 
 
mysql_close($db); 
  #2 (permalink)  
Antiguo 22/08/2012, 07:42
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Conectar php con mysql.

Para comenzar no debes usar mysql_pconnect ya que este es para generar una conexión "persistente", y normalmente los servidores están configurados para no tener mas de 10 conexiones simultáneas, por lo cual si tienes 15 usuarios al mismo tiempo intentando conectar 5 de ellos no podrán, ahora, tu problema es que DEBES INDICAR LOS NOMBRES DE LOS CAMPOS, al menos los que tengan como propiedad NOT NULL, si no los indicas MySQL arrojará error, aparte, SIEMPRE debes depurar las consultas agregando un " or die(mysql_error())" después de un mysql_query, mysql_connect, mysql_select_db...

Por ultimo, el drive mysql_* esta obsoleto, lo mejor es usar PDO o en su defecto mysqli...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 22/08/2012, 07:54
 
Fecha de Ingreso: enero-2010
Mensajes: 239
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Conectar php con mysql.

Cita:
Iniciado por Nemutagk Ver Mensaje
Para comenzar no debes usar mysql_pconnect ya que este es para generar una conexión "persistente", y normalmente los servidores están configurados para no tener mas de 10 conexiones simultáneas, por lo cual si tienes 15 usuarios al mismo tiempo intentando conectar 5 de ellos no podrán, ahora, tu problema es que DEBES INDICAR LOS NOMBRES DE LOS CAMPOS, al menos los que tengan como propiedad NOT NULL, si no los indicas MySQL arrojará error, aparte, SIEMPRE debes depurar las consultas agregando un " or die(mysql_error())" después de un mysql_query, mysql_connect, mysql_select_db...

Por ultimo, el drive mysql_* esta obsoleto, lo mejor es usar PDO o en su defecto mysqli...

Hay cosas q no entiendo:

DEBES INDICAR LOS NOMBRES DE LOS CAMPOS, al menos los que tengan como propiedad NOT NULL ........ Donde?

si no los indicas MySQL arrojará error.... Errores no me da!

Por ultimo, el drive mysql_* esta obsoleto, lo mejor es usar PDO o en su defecto mysqli.... Explicame mejor esto!
  #4 (permalink)  
Antiguo 22/08/2012, 08:07
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Conectar php con mysql.

Amigo, sin ofender, te recomiendo que te leas algún manual basico de SQL, ya que tus problemas son básicos...

Cita:
DEBES INDICAR LOS NOMBRES DE LOS CAMPOS, al menos los que tengan como propiedad NOT NULL ........ Donde?
Ejemplo:
Código SQL:
Ver original
  1. INSERT INTO mitabla (campo1,campo2,campo3,campo4,campoX) VALUES ('valor1','valor2','valor3','valor4','valorX')

Cita:
si no los indicas MySQL arrojará error.... Errores no me da!
Obvio, los errores en SQL NO SE MUESTRAN POR DEFECTO, ya que PHP no los trata como tal, para eso debes depurar MANUALMENTE la consulta, ejemplo:

Código PHP:
Ver original
  1. //la siguiente consulta esta mal escrita, esta escrito SELEC cuando es SELECT
  2. $sql = 'SELEC * FROM mitabla';
  3.  
  4. //Aquí no se mostrará ningún error porque PHP no los muestra automaticamente
  5. mysql_query($sql,$conexion);
  6.  
  7. //PERO, si depuramos la consulta se mostrará el error y nos dará una breve explicación del error
  8. mysql_query($sql,$conexion) or die(mysql_error());

Cita:
Por ultimo, el drive mysql_* esta obsoleto, lo mejor es usar PDO o en su defecto mysqli.... Explicame mejor esto!
En PHP hay diferentes "drivers" o formas de conectarse a una base de datos, en MySQL la mas comun y mas extendida es mysql_* (mysql_connect, mysql_select_db, mysql_query), pero esto ah quedado obsoleto, ya que su implementación es "pobre" y carece de seguridad, aparte de esto, hay otras formas de conectarse a MySQL que son mucho mas optimizadas y seguras como es PDO (a mi parecer la mejor) y mysqli, ambas formas implementan una mejor seguridad a nivel "nativa" (PHP se encarga de evitar SQL Injection, al menos en lo basico), si necesitas mas información en Google puedes encontrar cientos de sitios donde explican que son, como funciona, y como implementar PDO o mysqli
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 22/08/2012, 08:19
 
Fecha de Ingreso: enero-2010
Mensajes: 239
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Conectar php con mysql.

Muchassssssss gracias... Para nada me ofendes, estoy comenzando y tengo claro mi falta de conocimientos. Sabes, como tengo la ultima version de wamp instalada pense q debe venir con todas las extensiones php mysql.
  #6 (permalink)  
Antiguo 22/08/2012, 09:15
 
Fecha de Ingreso: enero-2010
Mensajes: 239
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Conectar php con mysql.

Hola, cambie el codigo y resulto mejor, creo q el problem estaba en nombrar los campos de la tabla... Pero tengo otro problema, con el codigo pequeño me introdujo todos los datos, pero este(abajo) q es el q necesito, q son mas de dos millones de datos me consume los 1800 s y solo rellena 30 filas. Q esta pasando?


Código PHP:
set_time_limit(1800);

$cin = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50);

$db mysql_connect("localhost""root""");

if(!
$db)
{
echo 
"Error";
exit;
}
mysql_select_db("euro"$db);

echo 
mysql_error($db);


for(
$x=0$x<46$x++)
{
for(
$a=1$a<47$a++)
{
if(
$x<$a)
{
for(
$b=2$b<48$b++)
{
if(
$a<$b)
{
for(
$c=3$c<49$c++)
{
if(
$b<$c)
{
for(
$d=4$d<50$d++)
{
if(
$c<$d)
{


$query "INSERT INTO total (primero, segundo, tercero, cuarto, quinto) values ('".$cin[$x]."', '".$cin[$a]."', '".$cin[$b]."', '".$cin[$c]."', '".$cin[$d]."')";

mysql_query($query,$db);

echo 
mysql_error($db);

}}}}}}}}}

 echo 
mysql_affected_rows()." total.";
 
 
mysql_close($db); 
  #7 (permalink)  
Antiguo 22/08/2012, 09:20
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Conectar php con mysql.

Que tu código no tiene logica, 2 millones? o.O, en fin, tienes 2 opciones, primera, indicar mediante set_time_limit(0) (al inicio del script) que no imponga limite de tiempo al script, la otra, ejecutar tu script desde consola...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #8 (permalink)  
Antiguo 22/08/2012, 09:27
 
Fecha de Ingreso: enero-2010
Mensajes: 239
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Conectar php con mysql.

Cita:
Iniciado por Nemutagk Ver Mensaje
Que tu código no tiene logica, 2 millones? o.O, en fin, tienes 2 opciones, primera, indicar mediante set_time_limit(0) (al inicio del script) que no imponga limite de tiempo al script, la otra, ejecutar tu script desde consola...

Gracias a ti he solucionado un problema con el q llevaba tres dias y nadie me ayudaba........ Muy agradecido!!!!

Etiquetas: mysql, tabla
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 22:54.