Programación Web y Scripting > PHP

 Insercción En Postgres

(1/3) > >>

RadicalEd:
Hola chicos de SoloCodigo, por fin pude conectar el PHP con Postgres (eso creo :unsure: ), pero a la hora de revisar la DB no me muestra los datos insertados, pero si gasta una fila.

Aquí dejo el código.
<!--html--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>HTML </td></tr><tr><td id='CODE'><!--html1--><HTML>
<BODY>
<?PHP
// Conexión a PostgreSQL.
$db = pg_connect("user=postgres dbname=agenda") or die ("No se puede conectar");

if( !$db )
{
echo "No pudo realizar la conexión!";
exit;
}

// Crea una sentencia SQL para insertar los datos a la tabla.
$query = "INSERT INTO direcciones VALUES ( '$nombre', '$telefono', '$correo' );";

// Conexión a la base de datos Agenda; Corre la sentencia SQL.
$result = pg_Exec( $db, $query );

if( !$result )
{
echo "Resultado no regresado!";
exit;
}

// Obtiene los resultados de la sentencia SQL.
$rows = pg_NumRows( $result );

if( $rows = 0 )
{
echo "Fallo en la inserción.";
exit;
}

// Obtiene el registro (fila) que acaba de ser agregada.
$query = "SELECT * FROM direcciones WHERE \"name\" = '$name';";

$result = pg_Exec( $db, $query );
$row = pg_Fetch_Row( $result, 0 );

$nameResult = $row[0];
$phoneResult = $row[1];
$emailResult = $row[2];

echo "Nombre = $nameResult<BR>";
echo "Telefono = $phoneResult<BR>";
echo "Correo = $emailResult<BR>";

pg_Close( $db );
echo "<BR>Datos Agregados!";
?>

</BODY>
</HTML>
<!--html2--></td></tr></table><div class='postcolor'><!--html3-->
Este error me muestra:

--- Citar ---Warning: pg_exec() [function.pg-exec]: Query failed: ERROR: no existe la columna "name" in /var/www/postgres/add-entry.php on line 37

Warning: pg_fetch_row(): supplied argument is not a valid PostgreSQL result resource in /var/www/postgres/add-entry.php on line 38
Nombre =
Telefono =
Correo =

Datos Agregados! 
--- Fin de la cita ---

su -:

--- Código: Text ---&#036;query = &#34;SELECT * FROM direcciones WHERE &#092;&#34;name&#092;&#34; = '&#036;name';&#34;;  :huh:  Y esto? '$name' = '$name' no deberia ser \"name\" = \'$name\' don de $name tiene un valor determinado? :blink:

ArKaNtOs:
creo que el mismo error te menciona que name no existe, ahora nunca he usado postgres, pero esto \"name\" para que?, no solo deberia ir name?, ahora cual es el contenido de $name al parecer no tiene nada, a menos que sea una variable get, donde seria mas apropiado hacer:
$name=$_GET['name']; antes no?
o hacer:
$query = "SELECT * FROM direcciones WHERE name = '$_GET[name]';";

en todo caso avisas ;)

RadicalEd:
Sorry, sorry, es que he copiado el código anterior, gracias por los aportes, aquí está arreglado ya un trol, y me saca un error.

--- Código: Text ---&#60;HTML&#62;&#60;BODY&#62;&#60;?PHPecho &#036;nombre=&#036;_GET['Nombre'].&#34;&#60;BR&#62;&#34;;echo &#036;Telefono=&#036;_GET['Telefono'].&#34;&#60;BR&#62;&#34;;echo &#036;Correo=&#036;_GET['Correo'].&#34;&#60;BR&#62;&#34;;// Conexión a PostgreSQL.echo &#036;db = pg_connect(&#34;user=postgres dbname=agenda&#34;) or die (&#34;No se puede conectar&#34;); if( !&#036;db ){echo &#34;No pudo realizar la conexión!&#34;;exit;} // Crea una sentencia SQL para insertar los datos a la tabla.//&#036;query = &#34;INSERT INTO direccion (nombre, telefono, correo) VALUES ( '&#036;Nombre', '&#036;Telefono', '&#036;Correo' );&#34;;&#036;query = &#34;INSERT INTO direccion (nombre, telefono, correo) VALUES ( '&#036;Nombre', &#036;Telefono, '&#036;Correo' );&#34;; // Conexión a la base de datos Agenda; Corre la sentencia SQL.&#036;result = pg_exec( &#036;db, &#036;query ); if( !&#036;result ){echo &#34;Resultado no regresado!&#34;;exit;} // Obtiene los resultados de la sentencia SQL.&#036;rows = pg_NumRows( &#036;result ); if( &#036;rows = 0 ){echo &#34;Fallo en la inserción.&#34;;exit;} // Obtiene el registro (fila) que acaba de ser agregada.&#036;query = &#34;SELECT * FROM direccion WHERE &#092;&#34;nombre&#092;&#34; = '&#036;Nombre';&#34;; &#036;result = pg_Exec( &#036;db, &#036;query );&#036;row = pg_Fetch_Row( &#036;result, 0 ); &#036;nameResult = &#036;row[0];&#036;phoneResult = &#036;row[1];&#036;emailResult = &#036;row[2]; echo &#34;Nombre = &#036;nameResult&#60;BR&#62;&#34;;echo &#34;Telefono = &#036;phoneResult&#60;BR&#62;&#34;;echo &#34;Correo = &#036;emailResult&#60;BR&#62;&#34;; pg_Close( &#036;db );echo &#34;&#60;BR&#62;Datos Agregados!&#34;;?&#62; &#60;/BODY&#62;&#60;/HTML&#62; 
--- Citar ---RadicalEd
123456
lambda@lero.com
1
Warning: pg_exec() [function.pg-exec]: Query failed: ERROR: syntax error en o cerca de ">" at character 72 in /var/www/postgres/add-entry.php on line 21
Resultado no regresado!
--- Fin de la cita ---

su -:
http://www.php.net/manual/en/function.pg-execute.php

 :whistling:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa