Foros del Web » Programando para Internet » PHP »

Traducir funciones PHP de MySQL a funciones Postgres

Estas en el tema de Traducir funciones PHP de MySQL a funciones Postgres en el foro de PHP en Foros del Web. hola amigos estoy aprendiendo PHP y lo poquito que he estudiado lo he hecho con PHP+MySQL Pero las lecturas que he hecho me han convencido ...
  #1 (permalink)  
Antiguo 04/03/2010, 22:37
Avatar de 1010011010  
Fecha de Ingreso: julio-2009
Ubicación: Xanadú
Mensajes: 58
Antigüedad: 14 años, 9 meses
Puntos: 1
Pregunta Traducir funciones PHP de MySQL a funciones Postgres

hola amigos estoy aprendiendo PHP y lo poquito que he estudiado lo he hecho con PHP+MySQL

Pero las lecturas que he hecho me han convencido de que Postgres es mejor base de datos.... y sin desviarnos en este topico ni crear polemica al respecto por favor.... me gustaria saber si alguien podria decirme las equivalencias a las funciones de la extension php para postgres

aqui tengo un ejemplo sencillito de como haria yo una conexion php mysql

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Pagina con Titulo jojooohh - Conexion PHP > MySQL</title>
</head>

<body>
  
<?php 
$link = mysql_connect("localhost","root","admin");
mysql_select_db("conectar", $link); 
$result = mysql_query("SELECT nombre, apellido FROM tabla", $link); 


echo "<br>"."<br>"."<br>"."<br>"; 
echo $result;
echo "Nombre: ".mysql_result($result, 0, "nombre")."<br>"; 
echo "Apellido: ".mysql_result($result, 0, "apellido")."<br>"; 
?> 
  
</body>
</html>

Lo que quisiera saber es si alguien podria ser tan amable de volvear a postear este codigo pero con los cambios pertinentes para que funcione con postgres...

Con las ayudas que da dreamweaver al conection string del pg_connect yo mismo lo complete y me estoy conectando sin problemas...

Código:
<?php 

$link = pg_connect("host=localhost, port=5432 , user=postgres, password=admin, dbname=conectar"); 

if (isset($link)) {
    echo "Conexion Exitosa<br>";
}
else
{
    echo "Conexion Fallida<br>";
}
pero debo estar usando las palabras equivocadas gracias a mi ignorancia en el tema porque no consigo como mostrar luego los registros.......

Caimanisticamente xD intente reemplazar la parte de las funciones que decia MySQL por pg :P pero obviamente las funciones no son exactamente iguales.... porque no funciona...


Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Pagina con Titulo jojooohh - Conexion PHP > pg</title>
</head>

<body>
  
<?php 

$link = pg_connect("host=localhost, port=5432 , user=postgres, password=admin, dbname=conectar"); 

if (isset($link)) {
    echo "Conexion Exitosa<br>";
}
else
{
    echo "Conexion Fallida<br>";
}


$result = pg_query("SELECT nombre, apellido FROM tabla", $link); 


echo "<br>"."<br>"."<br>"."<br>"; 
echo $result;
echo "Nombre: ".pg_result($result, 0, "nombre")."<br>"; 
echo "Apellido: ".pg_result($result, 0, "apellido")."<br>"; 
?> 
  
</body>
</html>
lo que me falta es saber crear un arreglo(array) con los datos de una tabla de postgres y saber caminar este arreglo para mostrar un item determinado del mismo....

Weno son menos de 5 lineas de codigo porfa se agradece mucho esa ayuda porque me estoy estancando en esto tan basico plz...
  #2 (permalink)  
Antiguo 04/03/2010, 22:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Traducir funciones PHP de MySQL a funciones Postgres

Si lees el Manual, puedes encontrar la referencia para PostgreSQL, con todo el listado de funciones y ejemplos de como usarlas.

Saludos.
  #3 (permalink)  
Antiguo 05/03/2010, 08:49
Avatar de 1010011010  
Fecha de Ingreso: julio-2009
Ubicación: Xanadú
Mensajes: 58
Antigüedad: 14 años, 9 meses
Puntos: 1
Pregunta Respuesta: Traducir funciones PHP de MySQL a funciones Postgres

Bueno gente revisando un poco las funciones hice esto....

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Pagina con Titulo jojooohh - Conexion PHP > pg</title>
</head>
<body>
<?PHP
$link = pg_connect("host=localhost, port=5432 , user=postgres, password=admin, dbname=conectar"); 
if (isset($link)) {
    echo "Conexion Exitosa<br>";
}
else
{
    echo "Conexion Fallida<br>";
}

$result = pg_query($link, "SELECT nombre, apellido FROM tabla");
echo "Nombre: " . pg_fetch_result($result, 0, "nombre") . "<br>";

?> 
</body>
</html>
pero el browser solo imprime esto:

Cita:
Iniciado por firefox
Conexion Exitosa
Nombre:
Estare usando las funciones adecuadas? sera un error de sintaxis???
  #4 (permalink)  
Antiguo 05/03/2010, 08:56
Avatar de 1010011010  
Fecha de Ingreso: julio-2009
Ubicación: Xanadú
Mensajes: 58
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Traducir funciones PHP de MySQL a funciones Postgres

Cita:
Iniciado por GatorV Ver Mensaje
Si lees el Manual, puedes encontrar la referencia para PostgreSQL, con todo el listado de funciones y ejemplos de como usarlas.

Saludos.
Hey gracias por los ejemplos....

Código:
  <?php
// Connecting, selecting database
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo")
    or die('Could not connect: ' . pg_last_error());

// Performing SQL query
$query = 'SELECT * FROM authors';
$result = pg_query($query) or die('Query failed: ' . pg_last_error());

// Printing results in HTML
echo "<table>\n";
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// Free resultset
pg_free_result($result);

// Closing connection
pg_close($dbconn);
?> 
Creeme que intente buscar eso alli pero no lo conseguia, no supe buscarlo...

Gracias!!
  #5 (permalink)  
Antiguo 05/03/2010, 11:49
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Respuesta: Traducir funciones PHP de MySQL a funciones Postgres

Lo otro que puedes hacer, es que tu aplicación utilice una capa de abstración de datos (como PEAR:Db), a si puedes lograr que tu aplicación funcione con cualquier motor que soporte php. entonces si quieres cambiar de mysql a postgres, solo tienes que hacer el cambio en la config de conexión (y talvez en algun query).

Te dejo de un ejemplo de como utilizar PEAR:Db

Etiquetas: funciones, mysql, traducir, postgresql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:56.