Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: martinillou en 15 Noviembre 2013, 11:48 am



Título: ¿Script de conexión a BBDD?
Publicado por: martinillou en 15 Noviembre 2013, 11:48 am
Hola necesito encontrar la manera de poder realizar desde el shell una conexión a la Base de Datos (mysql), que pueda coger los datos de autenticación de un fichero y una vez me conecte pueda realizar una consulta y una actualización.

La consulta y actualización ya me funciona si ejecuto el script una vez estoy dentro de la base de datos, pero necesito poder lanzarlo desde fuera de la bbdd.

He intentado hacerlo por php pero no me funciona, me da errores por todos los lados y no veo que esté mal el código.

Preferiría que el script sea un fichero normal y corriente, sin tener necesidad de utilizar el PHP, ¿alguien me puede ayudar?


Este es el código que necesito si puede ser en un texto plano. Pero que no consigo acceder a la base de datos.

Código:
mysql -h localhost -u root -p password

select m1.id from tabla1 m1 join tabla2 m2 on m1.id=m2.user$

create temporary table foo (id int);

insert into foo select m1.id from tabla1 m1 join tabla2 m2 $

update tabla1 m inner join foo on m.id = foo.id set m.deleted=1;

drop table foo;

Por otra parte lo he intentado hacer con php, pero tampoco me ha funcionado y es este el código, separado en 3 ficheros:
config.php
<?
# Data config for connect to database server
$server           = 'localhost';         # Server (default:localhost)
$user_prefix      = '';              # User of hosting (default:test)
$username_mysql   = $user_prefix.'root';  # Mysql database user
$password_mysql   = 'password';         # Mysql database password
$database_mysql   = $user_prefix.'moodle';  # Mysql database
?>
connection.php
<?
require_once('config.php');

#  Check database to host connection
if(!function_exists('mysql_connect'))
{
    echo 'PHP cannot find the mysql extension. MySQL is required for run. Aborting.';
    exit();
}

$dbh = @mysql_connect($server, $username_mysql, $password_mysql)
or die('Error: Database to host connection: '.mysql_error());

mysql_select_db($database_mysql, $dbh)
or die('Error: Select database: '.mysql_error());
?>

prueba.php
<?
require_once('inc/connection.php');

#Execute a MySQL query
$result = mysql_query("SELECT name FROM users", $dbh);

while($row = mysql_fetch_array($result))
{
    echo 'User: '.$row['name'].'<br>';
}
?>

Muchas gracias de antemano. Un saludo.