elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Temas
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11 12
21  Programación / Desarrollo Web / Llamar un procedimiento almacenado PL desde PHP. en: 19 Marzo 2014, 16:57 pm
Lenguajes:
PHP, PL/SQL
Problema:
No consigo que se ejecute ningún procedimiento PL/SQL almacenado desde mi script PHP.
Códigos:

Tablas:
Código
  1. /*GOODS TABLE, WILL CONTAIN ALL GOODS*/
  2. CREATE TABLE GOODS(
  3. ID INT(3) AUTO_INCREMENT,
  4. NAME CHAR(20) UNIQUE,
  5. IMGFILE CHAR(20),
  6. L_PRICE INT(4),
  7. S_PRICE INT(4),
  8. H_PRICE INT(4),
  9. C_PRICE INT(4),
  10. PRIMARY KEY(ID));
  11.  
  12. /*TRADERS TABLE, WILL CONTAIN ALL USERS AND THEIR DATA*/
  13. CREATE TABLE TRADERS(
  14. ID INT(3) AUTO_INCREMENT,
  15. USERNAME CHAR(20) NOT NULL,
  16. PASSWORD CHAR(20) NOT NULL,
  17. MAIL CHAR(40) NOT NULL,
  18. CREDITS CHAR(20) NOT NULL,
  19. PRIMARY KEY(ID));
  20.  
  21. /*STOCKS TABLE, WILL CONTAIN EACH USER'S (TRADER) STOCK*/
  22. CREATE TABLE STOCKS(
  23. GOOD_ID INT(3),
  24. TRADER_ID INT(3),
  25. AMMOUNT INT(10),
  26. AVG_BUY INT(4),
  27. FOREIGN KEY(GOOD_ID)
  28. REFERENCES GOODS(ID)
  29. ON DELETE CASCADE,
  30. FOREIGN KEY(TRADER_ID)
  31. REFERENCES TRADERS(ID)
  32. ON DELETE CASCADE);

Procedimiento Almacenado a llamar:
Código
  1. /*THIS PROCEDURE ALLOWS THE TRADERS TO BUY STOCKS*/
  2. CREATE PROCEDURE BUY_STOCK(P_GOOD INT,P_TRADER INT,P_AMMOUNT INT)
  3. BEGIN
  4. DECLARE V_PRICE, V_COST INT;
  5. SELECT C_PRICE INTO V_PRICE
  6. FROM GOODS
  7. WHERE ID = P_GOOD;
  8.  
  9. SET V_COST = V_PRICE*P_AMMOUNT;
  10.  
  11. IF HAS_CREDITS(P_TRADER,V_COST) THEN
  12. IF HAS_STOCK(P_GOOD,P_TRADER) THEN
  13. UPDATE STOCKS
  14. SET AMMOUNT = AMMOUNT + P_AMMOUNT
  15. WHERE GOOD_ID = P_GOOD
  16. AND TRADER_ID = P_TRADER;
  17. UPDATE STOCKS
  18. SET AVG_BUY = ((AVG_BUY*(AMMOUNT-P_AMMOUNT))+(V_PRICE*P_AMMOUNT))/AMMOUNT
  19. WHERE GOOD_ID = P_GOOD
  20. AND TRADER_ID = P_TRADER;
  21. ELSE
  22. INSERT INTO STOCKS
  23. VALUES(P_GOOD,P_TRADER,P_AMMOUNT,V_PRICE);
  24. END IF;
  25. UPDATE TRADERS
  26. SET CREDITS = CREDITS - V_COST
  27. WHERE ID = P_TRADER;
  28. END IF;
  29. END;

Código PHP que trata de llamar al procedimiento almacenado:
Código
  1. <?php
  2. session_name('trademaster');
  3.  
  4. if($_POST['transaction'] = "Buy")
  5. {
  6.  
  7. $good = $_POST['goodid'];
  8. $id = $_SESSION['id'];
  9. $ammount = $_SESSION['ammount'];
  10. $db = new PDO("mysql:host=localhost;dbname=trademaster", 'trader', '********');
  11.  
  12. $x = $db->prepare('CALL BUY_STOCK(:good, :trader, :ammount)');
  13.  
  14. $x->bindValue(':good', $good, PDO::PARAM_INT);
  15. $x->bindValue(':trader', $id, PDO::PARAM_INT);
  16. $x->bindValue(':ammount', $ammount, PDO::PARAM_INT);
  17.  
  18. $x->execute();
  19.  
  20. unset($db);
  21.  
  22. header("location:stocks.php");
  23. exit();
  24. }
  25. ?>

Error:
Código:
PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 1370 execute command denied to user 'trader'@'localhost' for routine 'trademaster.BUY_STOCK'

Observaciones:
El usuario 'trader'@'localhost' que interactúa con la base de datos tiene los permisos de USAGE, SELECT, INSERT, UPDATE, DELETE y EXECUTE sobre todas las tablas de la base de datos (trademaster.*).

Queries hacia la base de datos con SELECT, INSERT y UPDATE funcionan.

El procedimiento almacenado funciona correctamente, ya lo he probado localmente desde una consola MySQL.

La password del objeto PDO la quité por razones evidentes.

Los valores POST y SESSION se recogen adecuadamente, lo he comprobado.
22  Media / Diseño Gráfico / [RESUELTO] Convertir imagen .SAI a .XCF? en: 5 Marzo 2014, 12:19 pm
¿Se puede hacer esta conversión?

Suelo dibujar con tablet en SAI, porque me da mucha precisión de trazo, pero luego no encuentro la manera de pasar el proyecto por capas a GIMP.

Desgraciadamente, SAI no me permite dejar una capa única con fondo transparente, sino que el fondo es blanco, normalmente...

El problema es que luego, al recortar, me quedan unos bordes blancos que no quedan muy bien.

Apenas se nota si se mira sin ampliar, debido a la resolución y a que hice un difuminado en plan brillo por detrás, pero en las imágenes pequeñas, esto puede ser un problema, además de que ésto no solventa el problema para casos en los que no quiera hacer ese brillo...

¿Ideas?
23  Foros Generales / Foro Libre / 4chan Risk - Partida en: 1 Febrero 2014, 18:15 pm
Para reglas, detalles y dudas, lo trataremos por este topic:
http://foro.elhacker.net/foro_libre/iexcl4chan_risk-t407551.0.html;msg1915322#msg1915322

Este es el mapa en el que estamos jugando (voy actualizándolo cada turno):
http://s26.postimg.org/vbu31gud3/ehn_mundo.png


Lo primero que tenemos que hacer es cada uno escoger donde empezar (colorearé aleatoriamente una región de 5 territorios en la zona aproximada que me digáis), y un color. En cuanto estemos todos preparados, actualizaré la imagen. (Ya sea porque llenamos el cupo de jugadores, o porque pasaron un par de dias desde hoy).

Para no liarnos mucho, decidme el nombre del país donde vais a empezar, y una aproximación de qué zona, (norte, sur, oeste, etc...)

Para daros un ejemplo, yo ya me he colocado en el mapa, como el color Morado, y en la zona sur de Australia.

Consejito, intentad repartiros un poco por el mapa, aparecer pegados sólo suele servir para que uno termine su partida muy rápido, y el otro la comience debilitado por el conflicto temprano.
24  Foros Generales / Foro Libre / Una situación simpática. en: 1 Febrero 2014, 03:56 am
Esta clase de cosas son las que suelen pasar cuando se le pide a Saber que baje demasiado el nivel de complejidad de una explicación:

25  Foros Generales / Foro Libre / ¿Os apetecería jugar a 4chan Risk? en: 26 Enero 2014, 16:54 pm
La primera partida va a tener lugar aquí:
http://foro.elhacker.net/foro_libre/4chan_risk_partida-t407967.0.html;msg1916905#msg1916905


Hola, gente.

Resulta que estoy algo aburrido y se me vino una idea a la mente, esta es que podríamos jugar a algo parecido al 4chan Risk en el foro.

¿De qué trata?

El 4chan risk es una especie de versión simplificada del risk, se juega normalmente en 4chan y tiene mapas bastante masivos. El objetivo, principalmente, es eliminar a la mayor cantidad posible de oponentes, ya que, estadísticamente es casi imposible que la partida progrese hacia ninguna parte cuando hay menos de 4 rivales debido a como suelen salir las "tiradas".

¿Cómo se juega?

En 4chan, los posts tienen relacionado un número de post, de dicho número, se cogen las últimas cifras. Ya que aquí no tenemos de eso, podríamos utilizar como sistema que consistiese en utilizar un servicio tal como random.org, o que el anfitrión de partida tirase literalmente 4 dados de 10 caras, el anfitrión de la partida tiraría uno de cada color, para saber perfectamente qué dado va en cada posición a la hora de formar nuestro número de 4 cifras.



Normalmente, la invasiones funcionan de la siguiente manera, las personas van posteando ciertas directivas de invasión, tales como "Atacar la zona de Europa del Norte" o "expandir mi frontera hacia el sur". Cuanto más detallado y creativo, más posibilidades de que el anfitrión realmente sepa hacia dónde quieres expandirte.

Los movimientos de cada región se realizan en el orden de posteo. Por lo tanto, el que postee primero, hace su ataque primero, pero también se arriesga a que el enemigo reaccione después y contraataque. Es parte de la táctica del juego.

Se puede jugar con diplomacia o sin ella, suele ser más efectiva si es secreta, en plan de que los jugadores negocien sus treguas y alianzas por PM. Esto ahorra líos a la hora de procesar los posts con órdenes de movimiento entre mensajes sueltos. Aunque siempre resulta divertido comentar la jugada. :3

El punto gracioso de este juego, es que no se sabe qué resultado va a tener la decisión tomada hasta después de haber posteado la misma, ya que el número de post se recibe tras realizar el mismo. En nuestro caso, será con un generador de números aleatorios o con dados (lo mismo, prácticamente).

Me ofrezco como anfitrión. Dispongo ya de los dados y ofrezco imparcialidad a la hora de jugar, tampoco tendría gracia si se trampease el sistema. Simplemente me apetece jugar con alguien.

Para que veáis un ejemplo de cómo podría ser un mapa, os paso un vídeo que muestra el progreso de una partida de forma muy rápida.



Como no todo el mundo tiene tiempo ni puede darse prisas, jugaríamos de una forma lenta y relajada, actualizando el mapa una vez al día o así.

¿Qué os parece? ¿Os animaríais?
Ya dispongo de mapas más o menos preparados de Estados Unidos, Europa, el Mundo y Tamriel.

Edit: Aquí tenéis el mapa del mundo, preparado para usar.
http://imageshack.com/a/img802/5584/doet.png
26  Foros Generales / Sugerencias y dudas sobre el Foro / Imágenes que no se ven en: 4 Enero 2014, 16:45 pm
Referenciando el siguiente tema:
http://foro.elhacker.net/sugerencias_y_dudas_sobre_el_foro/como_puedo_insertar_imagenes_en_este_foro-t21512.0.html

He probado a poner imágenes en el foro, pero no se ven cuando lo miro sin estar loggeado. ¿Qué puedo hacer?

--

PD: Este topic no va en serio, estoy demostrando lo que puede pasar siguiendo este sistema.

Se puede crear un nuevo tema, y poner la dirección del tema original al que se hace referencia, o al que se le puede agregar mas cosas...
27  Informática / Hardware / Lee CD y DVD, Graba CD, no graba DVD... en: 29 Diciembre 2013, 15:53 pm
HL-DT-ST DVDRAM GH22NS50 SATA.

Tuve un percance con la misma, un disco me estalló dentro.
http://foro.elhacker.net/grabadoras/desaconsejo_la_marca_memorex-t404876.0.html;msg1904787#msg1904787


Más detalles. La grabación la estaba haciendo con el Nero 6 a 16x, hasta que el disco estalló y apagué la máquina dándole al botón de la fuente de alimentación.

Tras sacar todos los fragmentos del disco del lector, lo volví a colocar en la máquina y aparentemente funciona, lee bien CD y DVD y graba CD, pero no DVD.

Todo lo hace con normalidad, pero si intento grabar un DVD, el nero se queda colgado y finalmente simplemente saca una ventana de error que dice que no se pudo completar el proceso. Utilizando ImgBurn, el mensaje de error es más detallado, dice lo siguiente:

Código:
I/O Error!
Device: [0:1:0] HL-DT-ST DVDRAM GH22NS50 TN03 (E:) (ATA)

ScsiStatus: 0x02
Interpretation: Check Condition

CDB: 2A 00 00 00 00 00 00 00 20 00
Interpretation: Write (10) - Sectors: 0 - 31

Sense Area: 70 00 03 00 00 00 00 0A 32 4D 03 0C 0C 00 00 00 00 00
Interpretation: Write Error

He probado a refrescar los drivers a los estándar llendo al administrador de dispositivos y desinstalándolo, para que Windows tratase de recuperarlo automáticamente.

También he actualizado el Firmware a TN03, (antes tenía TN02). No ha solucionado el problema.

¿Qué más puedo probar? Probar con otra grabadora significaría tener que comprar una nueva, y me gustaría estar seguro de que no es un fallo de configuración/software antes de gastar nada.
28  Comunicaciones / Mensajería / Skype me está haciendo DDoS. en: 16 Diciembre 2013, 23:51 pm
No sé que hacer. Cada vez que me conecto a skype, me vuelve a re-re-reenviar de forma estúpida mensajes de todos mis contactos que recibí incluso hace un mes y ya he leído. (A un ratio de varios cientos por segundo) hasta que me peta totalmente el PC.
29  Sistemas Operativos / Windows / Windows 7 SP1 - Ficheros que desaparecen. en: 15 Diciembre 2013, 16:46 pm
Comparto una solución a un problema que llevaba teniendo unos días:

Recientemente, me ha empezado a ocurrir que ciertos ficheros generados por programas "desaparecían" sin más, a pesar de que el programa decía claramente que habían sido guardados.

Tras investigar cierto tiempo, encontré que todos estos ficheros iban a parar a un directorio llamado "Virtualstore", que se encuentra en:

Código:
[letra_partición]/Users/[nombre_usuario]/AppData/Local

En mi caso sería, por ejemplo:
Código:
C:/Users/Saberuneko/AppData/Local/VirtualStore

Aparentemente, Windows hace esto para evitar que los programas interrumpan su actividad al no tener permisos para guardar el fichero en la posición escogida y así no perder la información.

Para solucionar este problema, es tan sencillo como arrancar el programa con privilegios de administrador. (Click derecho>Ejecutar como Administrador)

Esto dará a la aplicación los permisos necesarios para poder guardar el archivo en el lugar apropiado.

Si se confía en la aplicación, también se puede configurar en propiedades (Clic Derecho>Propiedades>Compatibilidad>Ejecutar este programa como administrador) para que se ejecute con permisos siempre.

Fuente: http://www.sevenforums.com/general-discussion/222389-what-virtual-store-folder.html
30  Informática / Software / Desaconsejo la marca "MEMOREX". en: 14 Diciembre 2013, 17:18 pm
Estaba grabando a 16x un DVD-R de MEMOREX, el caso es que ha reventado y se ha astillado dentro de la grabadora.

Dejo el aviso aquí, y desaconsejo ALTAMENTE esta marca.

(Sólo he intentado grabar con discos de esa marca dos veces, y se ha cargado dos grabadoras distintas, en el caso anterior, el disco se dobló dentro y atascó la grabadora).
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11 12
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines