ccc

BD: Obtener bases de datos, tablas, campos en SQL Server y MySQL

OBTENER TODAS LAS BASES DE DATOS:

SQL SERVER:
    $devolver = '';
    $serverName = "xxx";
    $connectionInfo = array("UID"=> $_POST["usuario"], "PWD"=> $_POST["contrasena"]);
    $conn = sqlsrv_connect( $serverName, $connectionInfo);
    $sql = 'SELECT name FROM master.dbo.sysdatabases order by name';
    $reg = sqlsrv_query($conn, $sql);
    while( $row = sqlsrv_fetch_array( $reg, SQLSRV_FETCH_ASSOC) ) {
        $devolver .= $row['name'];
    }
    echo $devolver;

MYSQL:
        $devolver = '';
        $db = new PDO( "mysql:host=localhost", $_POST["usuario"], $_POST["contrasena"]);
        $reg = $db->query( 'SHOW DATABASES' );
        while (($nomBD = $reg->fetchColumn( 0 ) ) !== false ) {
            $devolver .= $nomBD;
        }

OBTENER TODAS LAS TABLAS DE UNA BASE DE DATOS

SQL SERVER:
    $serverName = "xxx";
    $connectionInfo = array( "Database"=>$_POST["nom_bd"], "UID"=>$_POST["usuario"], "PWD"=>$_POST["contrasena"]);
    $conn = sqlsrv_connect( $serverName, $connectionInfo);
    if( $conn ) {
        $devolver = '';
        $sql = "SELECT CAST(table_name as varchar) as nomTabla  FROM INFORMATION_SCHEMA.TABLES order by table_name";
        $reg = sqlsrv_query($conn, $sql);
        while( $row = sqlsrv_fetch_array( $reg, SQLSRV_FETCH_ASSOC) ) {
              $devolver .=.$row["nomTabla"];
        }
        echo $devolver;

MYSQL:
   $db = new PDO('mysql:host=localhost;port=;dbname='.$_POST["nom_bd"], $_POST["usuario"], $_POST["contrasena"], array( PDO::ATTR_PERSISTENT => false));
        $reg = $db->query("show tables");
        $devolver = '';
        while ($row = $reg->fetch(PDO::FETCH_NUM)) {
            $devolver .= $row[0];
        }

OBTENER TODOS LOS CAMPOS DE UNA TABLA

SQL SERVER:
$serverName = "xxx";
$connectionInfo = array("Database"=>$_POST["nom_bd"], "UID"=>$_POST["usuario"], "PWD"=>$_POST["contrasena"]);
 $conn = sqlsrv_connect($serverName, $connectionInfo);
 $sql = "SELECT COLUMN_NAME as nombreColumna, * FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = '".$_POST["tablas"]."' ORDER BY ordinal_position";
 $reg = sqlsrv_query($conn, $sql);
while( $row = sqlsrv_fetch_array( $reg, SQLSRV_FETCH_ASSOC) ) {
  echo $row["nombreColumna"];
}

MYSQL:
$db = new PDO('mysql:host=localhost;port=;dbname='.$_POST["nom_bd"], $_POST["usuario"], $_POST["contrasena"], array( PDO::ATTR_PERSISTENT => false));
$sql = "show columns from ".$_POST["nom_bd"].".".$_POST["tablas"];
$reg = $db->query($sql);
while ($row = $reg->fetch(PDO::FETCH_NUM)) {
    echo $row[0];
}

1 comentario:

  1. quiero solicitar todas las bases de datos en una etiqueta select html con php. como se armaria el codigo?

    ResponderEliminar