Página 1 de 1

Pasar archivo .php a consulta SQL

Publicado: 05 Sep 2007, 15:13
por dllrsoft
Hay un script, en este tipo de foros, que pasa las consultas SQL a un archivo .php, pero... ¿hay alguna forma de pasar un archivo .php a una consulta SQL?

La idea es sacar la consulta SQL que hace el archivo .php... :wink:

Saludos!!

Re: Pasar archivo .php a consulta SQL

Publicado: 05 Sep 2007, 20:17
por Zuker
Revisa los SELECT dentro del archivo php y listo!

Re: Pasar archivo .php a consulta SQL

Publicado: 05 Sep 2007, 21:24
por dllrsoft
Gracias Zuker!!

He mirado un par de ellos "por dentro" y, en algunos casos, aparece esto (o algo parecido):

[codeblock]$db = "consulta SQL";[/codeblock]

También pueden aparecer asi?

Saludos!!

Re: Pasar archivo .php a consulta SQL

Publicado: 06 Sep 2007, 12:52
por Zuker
adjunta el archivo aca y lo vemos

Re: Pasar archivo .php a consulta SQL

Publicado: 06 Sep 2007, 14:58
por dllrsoft
Zuker, me refiero a esto:

[codeblock]$sql=array(
'ALTER TABLE '.FORUMS_TABLE.' ADD auth_ban TINYINT (2) not null DEFAULT "3"',
'ALTER TABLE '.FORUMS_TABLE.' ADD auth_greencard TINYINT (2) not null DEFAULT "5"',
'ALTER TABLE '.FORUMS_TABLE.' ADD auth_bluecard TINYINT (2) not null DEFAULT "1"',
'ALTER TABLE '.AUTH_ACCESS_TABLE.' ADD auth_ban TINYINT (1) not null DEFAULT "0"',
'ALTER TABLE '.AUTH_ACCESS_TABLE.' ADD auth_greencard TINYINT (1) not null DEFAULT "0"',
'ALTER TABLE '.AUTH_ACCESS_TABLE.' ADD auth_bluecard TINYINT (1) not null DEFAULT "0"',
'INSERT INTO '.CONFIG_TABLE.' (config_name, config_value) VALUES ("bluecard_limit", "3")',
'INSERT INTO '.CONFIG_TABLE.' (config_name, config_value) VALUES ("bluecard_limit_2", "1")',
'INSERT INTO '.CONFIG_TABLE.' (config_name, config_value) VALUES ("max_user_bancard", "10")',
'INSERT INTO '.CONFIG_TABLE.' (config_name, config_value) VALUES ("report_forum", "0")',
'ALTER TABLE '.USERS_TABLE.' ADD user_warnings SMALLINT (5) DEFAULT "0"',
'ALTER TABLE '.POSTS_TABLE.' ADD post_bluecard TINYINT (1)'
);[/codeblock]

o a esto:

[codeblock]$sql[] = "ALTER TABLE `phpbb_users` ADD `ct_search_time` INT( 11 ) NULL DEFAULT 1 AFTER `user_newpasswd`;";[/codeblock]

Saludos!!

Re: Pasar archivo .php a consulta SQL

Publicado: 06 Sep 2007, 15:47
por Zuker
ahi tienes las 2 consultas, claritas

que es lo que no entiendes? :roll:

Re: Pasar archivo .php a consulta SQL

Publicado: 06 Sep 2007, 21:38
por dllrsoft
Zuker, no es que no lo entienda, lo que pregunto es que si yo pongo:

[codeblock]'ALTER TABLE '.FORUMS_TABLE.' ADD auth_greencard TINYINT (2) not null DEFAULT "5"', [/codeblock]

En phpMyAdmin, en la pestaña SQL, que si funcionará?

O tendría que cambiar

[codeblock]'.FORUMS_TABLE.'[/codeblock]

por la tabla de los foros... :wink:

Saludos!!

Re: Pasar archivo .php a consulta SQL

Publicado: 07 Sep 2007, 04:40
por Zuker
no, hay que cambiarlo! por que FORUMS_TABLE esta definido por el constants.php como la tabla de foros.

Re: Pasar archivo .php a consulta SQL

Publicado: 07 Sep 2007, 12:18
por dllrsoft
Pero Zuker, yo quiero pasarlo a una consulta SQL, es decir, para insertarla directamente en la pestaña SQL del phpMyAdmin... :wink:

Saludos!!

Re: Pasar archivo .php a consulta SQL

Publicado: 07 Sep 2007, 13:03
por Zuker
'ALTER TABLE '.FORUMS_TABLE.' ADD auth_greencard TINYINT (2) not null DEFAULT "5"',

seria

ALTER TABLE phpbb_forums ADD auth_greencard TINYINT (2) not null DEFAULT "5",

Re: Pasar Archivo .php A Consulta SQL

Publicado: 07 Sep 2007, 13:55
por esnola
Poder se podría si antes vuelcas el contenido a un archivo de texto por ejemplo.
fopen(), fwrite() , le pones extensión sql, txt, (aunque esto es lo de menos)

Re: Pasar Archivo .php A Consulta SQL

Publicado: 08 Sep 2007, 00:01
por novice programmer
Zuker, me refiero a esto:

[codeblock]$sql=array(
'ALTER TABLE '.FORUMS_TABLE.' ADD auth_ban TINYINT (2) not null DEFAULT "3"',
'ALTER TABLE '.FORUMS_TABLE.' ADD auth_greencard TINYINT (2) not null DEFAULT "5"',
'ALTER TABLE '.FORUMS_TABLE.' ADD auth_bluecard TINYINT (2) not null DEFAULT "1"',
'ALTER TABLE '.AUTH_ACCESS_TABLE.' ADD auth_ban TINYINT (1) not null DEFAULT "0"',
'ALTER TABLE '.AUTH_ACCESS_TABLE.' ADD auth_greencard TINYINT (1) not null DEFAULT "0"',
'ALTER TABLE '.AUTH_ACCESS_TABLE.' ADD auth_bluecard TINYINT (1) not null DEFAULT "0"',
'INSERT INTO '.CONFIG_TABLE.' (config_name, config_value) VALUES ("bluecard_limit", "3")',
'INSERT INTO '.CONFIG_TABLE.' (config_name, config_value) VALUES ("bluecard_limit_2", "1")',
'INSERT INTO '.CONFIG_TABLE.' (config_name, config_value) VALUES ("max_user_bancard", "10")',
'INSERT INTO '.CONFIG_TABLE.' (config_name, config_value) VALUES ("report_forum", "0")',
'ALTER TABLE '.USERS_TABLE.' ADD user_warnings SMALLINT (5) DEFAULT "0"',
'ALTER TABLE '.POSTS_TABLE.' ADD post_bluecard TINYINT (1)'
);[/codeblock]

o a esto:

[codeblock]$sql[] = "ALTER TABLE `phpbb_users` ADD `ct_search_time` INT( 11 ) NULL DEFAULT 1 AFTER `user_newpasswd`;";[/codeblock]

Saludos!! Solo pon la consulta de phpbb en un archivo de php en una carpeta distinta y incluye el codigo de constants.php

ejemplo:

Comienzo del archvo:

Código: Seleccionar todo

<?
require_once('constants.php')
echo(array\(
'ALTER TABLE '.FORUMS_TABLE.' ADD auth_ban TINYINT \(2\) not null DEFAULT "3"',
'ALTER TABLE '.FORUMS_TABLE.' ADD auth_greencard TINYINT \(2\) not null DEFAULT "5"',
'ALTER TABLE '.FORUMS_TABLE.' ADD auth_bluecard TINYINT \(2\) not null DEFAULT "1"',
'ALTER TABLE '.AUTH_ACCESS_TABLE.' ADD auth_ban TINYINT \(1\) not null DEFAULT "0"',
'ALTER TABLE '.AUTH_ACCESS_TABLE.' ADD auth_greencard TINYINT \(1\) not null DEFAULT "0"',
'ALTER TABLE '.AUTH_ACCESS_TABLE.' ADD auth_bluecard TINYINT \(1\) not null DEFAULT "0"',
'INSERT INTO '.CONFIG_TABLE.' \(config_name, config_value\) VALUES \("bluecard_limit", "3"\)',
'INSERT INTO '.CONFIG_TABLE.' \(config_name, config_value\) VALUES \("bluecard_limit_2", "1"\)',
'INSERT INTO '.CONFIG_TABLE.' \(config_name, config_value\) VALUES \("max_user_bancard", "10"\)',
'INSERT INTO '.CONFIG_TABLE.' \(config_name, config_value\) VALUES \("report_forum", "0"\)',
'ALTER TABLE '.USERS_TABLE.' ADD user_warnings SMALLINT \(5\) DEFAULT "0"',
'ALTER TABLE '.POSTS_TABLE.' ADD post_bluecard TINYINT \(1\)'
\\)\\;//array
\)\;//echo
?>
Con este codigo deberia pasar a pantalla la consulta, aunque no la realizara.
El constants.php debe estar en la misma carpeta que el fichero.
Recuerda poner caracteres de escape en los parentesis y los punto y coma para que no los tome como final de la funcion echo.

Re: Pasar Archivo .php A Consulta SQL

Publicado: 08 Sep 2007, 00:22
por esnola
Tiene que incluir además el config.php (include("config.php").
Metiendo solo como include o require o require_once el constants.php no le va a funcionar.
Además tal y como tu lo pones tampoco está bien porque la ruta no es correcta.Tendría que poner
require_once (./includes/constants.php) o si lo haces por el formato de phpBB
Seria:

Código: Seleccionar todo

<?php

$phpbb_root_path = "./"; //en el supuesto que el archivo esté en root
require_once($phpbb_root_path . 'includes/constants.php);
require_once("config.php");

/* 

lo que sea
lo que sea

*/

?>


Re: Pasar archivo .php a consulta SQL

Publicado: 08 Sep 2007, 07:47
por dllrsoft
Gracias a todos por responder!!

En cuanto pueda lo pruebo y os digo que tal... ahora estoy un poco liado... :wink:

Saludos!!

Re: Pasar archivo .php a consulta SQL

Publicado: 09 Sep 2007, 01:15
por Zuker
Repito que es mas facil leerlas y escribirlas a mano ;)