Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Funciones y PHP (no soy capaz sin ayuda) (https://www.clubdelphi.com/foros/showthread.php?t=27837)

papulo 01-12-2005 17:52:30

Funciones y PHP (no soy capaz sin ayuda)
 
¡Hola amigos! Soy Papulo McClour, me recordareis de otros posts como "insertar PHP en codigo HTML" o "Acertijo en PHP".

Siguiendo con la didactica actividad de aprender PHP y dar guerra en el foro, estoy peleandome con las funciones, y en este caso concreto, buscando un miniejemplo para que me ilustrase, me he encontrado con un escollo que por mi inexperiencia, no se resolver, la cosa es la siguiente:

Una funcion que realiza la consulta a la BD y me devuelve una variable con el resultado, para luego acabar de procesarla fuera de la funcion.

¡Codigo va!
libreria_pruebas.php
Código PHP:

     <?
     
function consulta_bd($query)
     {
     
$host 'Dev1:c:/wamp/www/elecsys/FACTORYDATAWEB.GDB';
     
$username 'sysdba';
     
$password 'pikachu;
     $dbh = ibase_pconnect ($host, $username, $password , $base_charset= '
UNICODE_FSS');
     $sql = $query;//Insertamos la consulta que queremos realizar
     $consulta = ibase_query($dbh, $sql);
     return $consulta;
     }?>

ConsultaQuery.php
Código PHP:

<?php
     
include("libreria_pruebas.php");
     
$query='SELECT * FROM MENUS';
     
consulta_bd($query);
     while (
$fila ibase_fetch_object ($consulta)) {
     echo 
$fila->SITUATION."<BR>";
     }
?>

Tengo un manual entre mis manos, y no se que demonios falla, es un mini ejemplo para ver si comprendo que leches le pasa y porque no pasa bien el resultado de la consulta.

El error que me da es el siguiente
Cita:

Warning: ibase_fetch_object(): supplied argument is not a valid Firebird/InterBase result resource in c:\wamp\www\pruebas\consultaquery.php on line 5
Añadir que busco dos cosas, la correccion y la comprension.

Saludos cordiales desde el trabajo.

Papulo.

Emilio 01-12-2005 18:39:04

Código PHP:

$host 'Dev1:/wamp/www/elecsys/FACTORYDATAWEB.GDB'


roman 01-12-2005 18:44:53

No sé si el nombre del host está mal especificado pero otro error aquí es que tu función consulta_bd regresa un resultado que no tomas al momento de llamarla (segundo bloque de código). Debiera ser así:


Código PHP:

<?
  
...

  
$consulta consulta_bd($query);

  ...
?>

// Saludos

papulo 01-12-2005 18:51:46

Cita:

Empezado por Emilio
Código PHP:

$host 'Dev1:/wamp/www/elecsys/FACTORYDATAWEB.GDB'


El host esta perfecto, toy haciendo las pruebas con una BD local.

Era lo que me decias Roman, pero exactamente ¿como es la logica de lo que he hecho?

Muchas gracias y a seguir ayudando, sois los mejores.

Papulo.

Emilio 01-12-2005 20:55:54

Bueno pues ahí va va tu código con un poco más de "lógica"

Código PHP:

function consulta_bd($query) {
     
$conn ibase_pconnect ('Dev1:c:/wamp/www/elecsys/FACTORYDATAWEB.GDB''sysdba''pikachu'$base_charset'UNICODE_FSS');
     return 
ibase_query($conn$query);
     }
 
     
$sql 'SELECT * FROM MENUS';
     
$result consulta_bd$sql );
     while ( 
$fila ibase_fetch_object$result )) {
        echo 
$fila->SITUATION."<BR>";
     } 


papulo 02-12-2005 12:37:53

Apuntado queda. Pero no os relajeis todavia... ¡volvere! (por desgracia de algunos, pero mejor preguntar y pasar por tonto, que callar y serlo siempre)


La franja horaria es GMT +2. Ahora son las 05:27:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi