Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - OssoH

#381
Solución :


$text = str_replace("\n", "<br>", $text);

#382
Tengo un campo tipo TEXT en mysql y lo que pretendo es guardar el contenido de un MEMO en la BD.

Si escribo en el memo lo siguiente :

prueba1
prueba2
prueba3

y lo guardo en la BD con nl2br(htmlentities($descripcion))

Cuando accedo al contenido de ese campo en la BD me lo deja como :

prueba1<br>
prueba2<br>
prueba3

Lo que deseo es que me lo guarde como :

prueba1<br>prueba2<br>prueba3

Alguien conoce la solución?
Gracias
#383
Bases de Datos / Re: Ejecutar
1 Junio 2011, 09:57 AM
Solución :

($mysqli->multi_query($sql) === TRUE)
#384
Bases de Datos / Ejecutar
1 Junio 2011, 09:37 AM
Tengo un string $cadenasql que tiene aprox 1000 sentencias UPDATE una detras de otra separadas por punto y coma. Las quiero ejecutar todas de golpe sin necesidad de usar bucles para acelerar la ejecución. Por ello utilizo mysqli y vez de mysql, pero no me funciona. En cambio si ejecuto estas ordenes por phpmyadmin si funciona.
¿que estoy haciendo mal?
Pd. El resultado de ejecutar el código que pongo abajo es vacio, no muestra nada en pantalla.
Gracias.


$mysqli = new mysqli("localhost", "root", "1234", "BDprueba");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$cadenasql='UPDATE ........     
if ($mysqli->query($cadenasql) === TRUE) {
    printf("Ejecución completada con éxito.\n");
#385
He encontrado lo siguiente :

Las sentencias UPDATE son optimizadas de manera similar a las sentencias SELECT con la sobrecarga adicional de la escritura. Por ejemplo, para efectos de optimización, el siguiente código:

UPDATE nombreCampo FROM nombreTabla WHERE algunaCondicion

Es el mismo que este:

SELECT nombreCampo FROM nombreTabla WHERE algunaCondicion

Es decir, podemos optimizar una sentencia UPDATE de la misma forma que su equivalente sentencia SELECT.

La velocidad de escritura depende de la cantidad de datos que están siendo actualizados y el número de índices que son actualizados, por lo tanto debemos tener cuidado de crear índices que no sean verdaderamente útiles, o bien, hacer que los campos de la tabla sean más grandes de lo que realmente necesitamos.

También, otra forma de obtener actualizaciones rápidas es retrasar los UPDATEs y entonces hacer muchas actualizaciones en una fila posteriormente. Hacer muchas actualizaciones en una fila es mucho más rápido que hacer uno a la vez si se bloquea la tablas.

Debemos notar que para una tabla MyISAM que usa el formato de registro dinámico, el actualizar el registro a una longitud total más grande puede dividir el registro. Si esto llega a ocurrir, es muy importante usar el comando OPTIMIZE TABLE ocasionalmente.


El tema de retrasar los UPDATES suena interesante, podría almacenarlos en una variable string todas las sentencias SQL para luego ejecutarlas de golpe pero claro...... ¿tengo alguna limitación de tamaño?  Podria encadenar por ejemplo 200 sentencias sQL separadas por punto y coma y lanzarlas de golpe y asi sucesivamente con el resto. Mi pregunta es ¿hasta cuantas sentencias sQL puedo encadenar en una variable para luego ejecutarla?

Tambien tenia pensado en bloquear la tabla que deseo actualizar para agilizar las actualizaciones.
LOCK TABLES nombretable WRITE;
..... ejecutar updates....
UNLOCK TABLES;


Gracias.
#386
Hola uso php y mysql.
Tengo la necesidad de ejecutar muchas líneas sql del tipo UPDATE .....

He visto que la instrucciones INSERT se pueden concatenar para agilizar la actualización en mi Base de datos.  INSERT INTO Store_Information (store_name, Sales, Date)
VALUES ('Los Angeles', 900, '10-Jan-1999')


¿existe alguna forma de agilizar las actualizaciones UPDATE?
Son muchas líneas que ejecuta el script una a una para hacer la actualización en la Base de datos y claro.... se satura y tarda demasiado.
En concreto para que os hagáis una idea son aprox 10.000 líneas de sentencias UPDATE.

Algún consejo??
Muchas gracias.
#387
Bases de Datos / Re: BD. Consulta
9 Mayo 2011, 23:10 PM
Pido al adminitrador que por favor borre este post.
El error era muy tonto y ya está solucionado. Además había planteado el problema mal desde el principio.
Hay días que mejor no levantarse para programar jeje.
Disculpas!!
#388
Bases de Datos / Re: BD. Consulta
9 Mayo 2011, 22:17 PM
Si, ese es mi valor menor y lo que puedo hacer es forzar por el phpmyadmin un registro con id_image=1 pero luego al insertar el siguiente registro con ordenes SQL INSERT no me pone el correlativo que en este caso sería el 2.
#389
Bases de Datos / Re: BD. Consulta
9 Mayo 2011, 19:07 PM
No se si puede ayudar... el tipo de mi tabla es MYSAM
#390
Bases de Datos / Re: BD. Consulta
9 Mayo 2011, 18:52 PM
Cita de: xassiz~ en  9 Mayo 2011, 18:51 PM
¿Por qué putada? Puedes copiarlos con SQL, no tienes que hacerlo manualmente :rolleyes:

He encontrado lo siguiente :

También se puede reinicializar el valor del auto_increment, pero teniendo en cuenta que no se puede usar un valor menor o igual que uno que ya se haya usado. Por lo que habrá que tener cuidado en las exportaciones.
alter tabla tabla auto_increment=50;

luego me temo que tendre que buscar alternativas a mi problema.