elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  PHP OO Pasar un parametro o variable a una clase
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: PHP OO Pasar un parametro o variable a una clase  (Leído 8,803 veces)
Slikp

Desconectado Desconectado

Mensajes: 67


Ver Perfil
PHP OO Pasar un parametro o variable a una clase
« en: 31 Octubre 2014, 20:30 pm »

- Buenas estoy algo novato con esto de la poo con php y la verdad es que me a resultado dificil adaptarme todo era feliz cuando lo hacia estructurado y no usando la POO pero bueno, mi problema es el siguiente:

- Tengo el Siguiente Formulario.

Código
  1. <!DOCTYPE html>
  2. <html lang="es">
  3.    <title>Control de Equipos</title>
  4.    <meta charset="utf-8">
  5.    <link rel="stylesheet" type="text/css" href="css/style.css">
  6. </head>
  7. <div id="login-form">    
  8.      <h3>Bases de Datos</h3>
  9.        <fieldset>
  10.            <form action="board_table.php" method="post">
  11.                <center>
  12.                    <select name="cod_empresa">
  13.                        <option Value="HUYAP_N">Proyecto H</option>
  14.                        <option Value="Zuat">Proyecto Z</option>
  15.                        <option Value="Ricl">Proyecto C</option>
  16.                    </select>
  17.                </center>    
  18.  
  19.                <input type="hidden" name="session">
  20.                <input id="sub" type="submit" value="Iniciar Conexión">
  21.            </form>
  22.        </fieldset>
  23. </div>
  24. </body>
  25. </html>
  26.  


- El cual posee un select con 3 option y deseo pasarle el valor del option a un .php que hara una conexion a un bd deacuerdo al indice pasado por el select pero me da el siguiente error.

Notice: Undefined index: cod_empresa in C:\xampp\htdocs\sismica\conexion.table.php on line 7

Notice: Undefined variable: ndatabase in C:\xampp\htdocs\sismica\conexion.table.php on line 7

Fatal error: Cannot access empty property in C:\xampp\htdocs\sismica\conexion.table.php on line 7

- El .php es el siguiente:

Código
  1. <?php
  2.    require_once 'conexion.table.php';
  3.  
  4.    if(isset($_POST['session']))
  5.    {
  6.        header('location:ready.php');
  7.    }
  8. ?>


- Y este otro que contiene la clase conexion.

Código
  1. <?php
  2. class Conexion
  3. {
  4.    public $ndatabase;
  5.    public function conectar()
  6.    {
  7.        $this->$ndatabase = $_POST['cod_empresa'];
  8.        $server = 'stmbielve';
  9.        $database = $ndatabase;
  10.        $username = 'root';
  11.        $password = '';
  12.        return $conexion = new PDO('sqlsrv:Server=' . $server . ';Database='. $database, $username, $password);
  13.        $this->dbh->exec("SET CHARACTER SET utf8");  
  14.    }  
  15. }
  16. ?>


- Como podria pasarle el cod_empresa a la clase para que me haga la conexion :/ ?? de antemano muchas gracias por sus respuestas.


En línea

T. Collins

Desconectado Desconectado

Mensajes: 206


Ver Perfil
Re: PHP OO Pasar un parametro o variable a una clase
« Respuesta #1 en: 31 Octubre 2014, 20:52 pm »

Tienes la clase pero no el objeto, tienes que hacer lo siguiente:

Código
  1. $CONN = new Conexion();
  2. $CONN->conectar($_POST['cod_empresa']);

Y cambiar la función conectar de la clase para que reciba el cod_empresa como argumento.


« Última modificación: 31 Octubre 2014, 21:01 pm por T. Collins » En línea

Slikp

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: PHP OO Pasar un parametro o variable a una clase
« Respuesta #2 en: 31 Octubre 2014, 21:38 pm »

- Buenas T. Collins, no entendi muy bien... Que tengo que cambiar en la funcion conectar?... Esas dos lineas supongo que las tengo que poner asi ??:

Código
  1. <?php
  2.    require_once 'conexion.table.php';
  3.  
  4.        $CONN = new Conexion();
  5.     $CONN->conectar($_POST['cod_empresa']);
  6.  
  7.    if(isset($_POST['session']))
  8.    {
  9.        header('location:ready.php');
  10.    }
  11. ?>
  12.  
  13.  

- Estoy enfrascado cada vez entiendo menos :/ ...
En línea

T. Collins

Desconectado Desconectado

Mensajes: 206


Ver Perfil
Re: PHP OO Pasar un parametro o variable a una clase
« Respuesta #3 en: 1 Noviembre 2014, 00:41 am »

Prueba así, después de $this-> la variable va sin el simbolo $
Código
  1. <?php
  2.    class Conexion
  3.    {
  4.       public $ndatabase;
  5.       public function conectar()
  6.       {
  7.           $this->ndatabase = $_POST['cod_empresa'];
  8.           $server = 'stmbielve';
  9.           $database = $this->ndatabase;
  10.           $username = 'root';
  11.           $password = '';
  12.           return $conexion = new PDO('sqlsrv:Server=' . $server . ';Database='. $database, $username, $password);
  13.           //$this->dbh->exec("SET CHARACTER SET utf8");  
  14.       }  
  15.    }
  16.    ?>

La línea que he comentando
Código
  1. //$this->dbh->exec("SET CHARACTER SET utf8");
si la pones después del return nunca se va a ejecutar, de todas formas $this->dbh no está declarado en ningún sitio.

En el php principal, pon:

Código
  1. $CONN = new Conexion;
  2. $conexion = $CONN->conectar();
« Última modificación: 1 Noviembre 2014, 00:54 am por T. Collins » En línea

Slikp

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: PHP OO Pasar un parametro o variable a una clase
« Respuesta #4 en: 3 Noviembre 2014, 13:55 pm »

- Buenos dias T. Collins disculpa por escribir tan tarde, pero este fin de semana no tuve tiempo... Intente lo que me sugeristes cambiando algunas cosas y al parecer funciono muchas gracias sin embargo creo que a raiz de esa solucion se me esta presentando otro problema y es que yo tengo otro .php que me genera una busqueda y una insercion pero ahora no funcionan y no muestran tampoco mensajes de error simplemente no hacen nada.

- Si yo a la clase conexion le paso directamente la bd a la que me quiero conectar la funcion de insercion y mostrar si funcionan pero cuando lo hago como me sugeristes dejan de funcionar por ejemplo si lo hago asi sirve.


Código
  1. <?php
  2. class Conexion
  3. {
  4.  
  5.    public function conectar()
  6.       {
  7.  
  8.            $server = 'sbvbieloven';
  9.            $database = 'huyapari_n';
  10.            $username = 'profit';
  11.            $password = 'profit';
  12.            return $conexion = new PDO('sqlsrv:Server=' . $server . ';Database='. $database, $username, $password);
  13.     }
  14.  
  15. }
  16. ?>


- Así si funciona, obviamente no es la idea hacerlo de esa forma. En mi ignorancia no se si es porque la conexion no se mantiene despues de pasarle el cod_empresa desde el form te muestro las desmas funciones.


Código
  1. <?php
  2. class Crud
  3. {
  4. public $insertInto;
  5. public $insertColumns;
  6. public $insertValues;
  7. public $mensaje;
  8. public $rows;
  9.  
  10. public function Create()
  11. {
  12. $model = new Conexion;
  13. $conexion = $model->conectar();
  14. $insertColumns = $this->insertColumns;
  15. $insertValues = $this->$insertValues;
  16. $sql = "INSERT INTO $insertInto ($insertColumns) VALUES ($insertValues)";
  17. $consulta = $conexion->prepare($sql);
  18. if (!$consulta)
  19. {
  20. $this->mensaje = "Error...";
  21. }
  22. else
  23. {
  24. $consulta->execute();
  25. $this->mensaje = "Registro Creado";
  26. }
  27. }
  28.  
  29. public function Read()
  30. {
  31. $model = new Conexion();
  32. $conexion = $model->conectar();
  33. $sql = "SELECT * FROM snemple";
  34. $consulta = $conexion->prepare($sql);
  35. $consulta->execute();
  36.  
  37. while ($filas = $consulta->fetch())
  38. {
  39. $this->rows[] = $filas;
  40. }
  41. }
  42. }
  43. ?>


- Intente incluirlas en un solo archivo para ver si asi se solucionaba el problema y nada, intente de esta forma.


Código
  1. <?php
  2. class Conexion
  3. {
  4.    public $ndatabase ="";
  5.    public $insertInto;
  6. public $insertColumns;
  7. public $insertValues;
  8. public $mensaje;
  9. public $rows;
  10.  
  11.    public function conectar($cod_empresa="")
  12.       {
  13.            $this->ndatabase = $cod_empresa;
  14.            $server = 'sbvbieloven';
  15.            $database = $this->ndatabase;
  16.            $username = 'profit';
  17.            $password = 'profit';
  18.            return $conexion = new PDO('sqlsrv:Server=' . $server . ';Database='. $database, $username, $password);
  19.     }
  20.  
  21.    public function Create()
  22. {
  23. $model = new Conexion;
  24. $conexion = $model->conectar();
  25. $insertColumns = $this->insertColumns;
  26. $insertValues = $this->$insertValues;
  27. $sql = "INSERT INTO $insertInto ($insertColumns) VALUES ($insertValues)";
  28. $consulta = $conexion->prepare($sql);
  29. if (!$consulta)
  30. {
  31. $this->mensaje = "Error...";
  32. }
  33. else
  34. {
  35. $consulta->execute();
  36. $this->mensaje = "Registro Creado";
  37. }
  38. }
  39.  
  40. public function Read()
  41. {
  42. $model = new Conexion();
  43. $conexion = $model->conectar();
  44. $sql = "SELECT * FROM snemple";
  45. $consulta = $conexion->prepare($sql);
  46. $consulta->execute();
  47.  
  48. while ($filas = $consulta->fetch())
  49. {
  50. $this->rows[] = $filas;
  51. }
  52. }
  53. }
  54. ?>


- Tambien Intente.

1- Agregarle como argumento el $cod_empresa="" a las funciones Read y Create y nada

2- Les quite el $model = new Conexion; porque pense que ya no tenia caso dejarselos y nada
hay me mostro.
- Fatal error: Call to undefined function prepare() in C:\xampp\htdocs\sismica\conexion.table.php on line 42.

- Espero puedas ayudarme con esto de antemano muchas gracias.
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: PHP OO Pasar un parametro o variable a una clase
« Respuesta #5 en: 3 Noviembre 2014, 14:47 pm »

Hay algo raro con que no te detecte el $_POST['cod_empresa'], realmente tu implementación en POO no tiene la culpa. ¿Que te regresa var_dump($_POST); ? Si tu indice aparece bien en el var_dump debe ser algun tipo de problema con el encoding...

Tu último script no funciona porque en ningun momento estableces el nombre de la base de datos (llamas al metodo conectar sin ningun parametro y se asume el valor por default que esta vacio) y la inicialización del objeto PDO falla.
En línea

Slikp

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: PHP OO Pasar un parametro o variable a una clase
« Respuesta #6 en: 3 Noviembre 2014, 21:37 pm »

- Hola MinusFour, en el ejemplo que expuse no establezco el nombre de la bd como parametro pero tambien expuse que.

1- Agregue como argumento el $cod_empresa="" a las funciones Read y Create y nada, ahora una pregunta si yo hago algo como esto no deberia de funcionar ??

2- Tambien intente ponerlo asi $cod_empresa...

- La verdad es que no entiendo porque no funciona... Intentare ser lo mas claro posible en

1- tengo este formulario.

Código
  1. <!DOCTYPE html>
  2. <html lang="es">
  3.    <title>Control de Equipos</title>
  4.    <meta charset="utf-8">
  5.    <link rel="stylesheet" type="text/css" href="css/style.css">
  6. </head>
  7. <div id="login-form">    
  8.      <h3>Bases de Datos</h3>
  9.        <fieldset>
  10.            <form action="board_table.php" method="post">
  11.                <center>
  12.                    <select name="cod_empresa">
  13.                        <option Value="HUYAP_N">Proyecto H</option>
  14.                        <option Value="Zuat">Proyecto Z</option>
  15.                        <option Value="Ricl">Proyecto C</option>
  16.                    </select>
  17.                </center>    
  18.  
  19.                <input type="hidden" name="session">
  20.                <input id="sub" type="submit" value="Iniciar Conexión">
  21.            </form>
  22.        </fieldset>
  23. </div>
  24. </body>
  25. </html>
  26.  

- Eso me genera lo siguiente.


2- Con la ayuda de T.Collins realize lo siguiente ese formulario se viene aca.

Código
  1. <?php
  2.    require_once 'conexion.table.php';
  3.  
  4.        $cod_empresa = (isset($_POST['cod_empresa'])) ? $_POST['cod_empresa'] : "";
  5. $Conexion = new Conexion();
  6. $Conexion->conectar($cod_empresa);
  7.  
  8.    if(isset($_POST['session']))
  9.    {
  10.        header('location:ready.php');
  11.    }
  12. ?>
  13.  

2.1 - Donde la clase conexion es la siguiente.

Código
  1. <?php
  2. class Conexion
  3. {
  4.    public $ndatabase ="";
  5.  
  6.    public function conectar($cod_empresa="")
  7.       {
  8.            $this->ndatabase = $cod_empresa;
  9.            $server = 'sbvbieloven';
  10.            $database = $this->ndatabase;
  11.            $username = 'profit';
  12.            $password = 'profit';
  13.            return $conexion = new PDO('sqlsrv:Server=' . $server . ';Database='. $database, $username, $password);
  14.     }
  15. }
  16. ?>
  17.  

3- Seguidamente por la condicion del Punto 2 me redirecciona a esta pag.

Código
  1. <?php
  2. require_once "conexion.table.php";
  3. require_once "crud.php";
  4.  
  5. $model = new Crud;
  6. $model->Read();
  7. $filas = $model->rows;
  8. $total = count($filas);
  9.  
  10. ?>
  11. <meta charset="UTF-8">
  12. <link rel="stylesheet" type="text/css" href="css/style.css">
  13. </head>
  14. <body>
  15. <section class="criterio">
  16. <div id="crit-form">
  17. <h3>Criterio de Busquedas</h3>
  18. <form class="crit-form" name="search_form" id="search_form">
  19. <small> El Total de Filas en Base de Datos: <?php echo $total ?> </small>
  20. <select size="10">
  21. <?php
  22. foreach ($filas as $fila)
  23. {
  24. ?> <option id="resultados">
  25. <?php echo $fila['cod_emp'] . $fila['nombres'] ." ". $fila['apellidos'];
  26. ?> </option>
  27. </select>
  28. <small>Por Ficha</small>
  29. <input type="text" name="search" id="search_fi" placeholder="introduzca Codigo Ficha Ej: Ch001">
  30. <small>Por Cedula</small>
  31. <input type="text" name="search" id="search_ci" placeholder="Cedula Use Puntos Ej: 49.781.190">
  32. <small>Por Nombre</small>
  33. <input type="text" name="search" id="search" placeholder="introduzca un Nombre Ej: Antonio">
  34. <small>Por Estatus</small>
  35. <select >
  36. <option>Seleccione Estatus</option>
  37. <option selected>Activo</option>
  38. <option>Inactivo</option>
  39. <option>Por Liquidar</option>
  40. <option>Liquidado</option>
  41. </select>
  42. <input type="submit" Value="Procesar">
  43. </form>
  44. </div>
  45. </section>
  46. </body>
  47. </html>
  48.  

3.1- Y eso me da esta pantalla donde evidentemente se que hay un problema porque de bajo del total esta en blanco y "" Como Dije Antes Pasandole Directamente O Manualmente La BD a La Clase Conexion Todo Funciona Fino "".


4- Donde mi clase Crud es la siguiente.

Código
  1. <?php
  2. class Crud
  3. {
  4. public $insertInto;
  5. public $insertColumns;
  6. public $insertValues;
  7. public $mensaje;
  8. public $rows;
  9.  
  10. public function Create()
  11. {
  12. $model = new Conexion;
  13. $conexion = $model->conectar();
  14. $insertColumns = $this->insertColumns;
  15. $insertValues = $this->$insertValues;
  16. $sql = "INSERT INTO $insertInto ($insertColumns) VALUES ($insertValues)";
  17. $consulta = $conexion->prepare($sql);
  18. if (!$consulta)
  19. {
  20. $this->mensaje = "Error...";
  21. }
  22. else
  23. {
  24. $consulta->execute();
  25. $this->mensaje = "Registro Creado";
  26. }
  27. }
  28.  
  29. public function Read()
  30. {
  31. $model = new Conexion();
  32. $conexion = $model->conectar();
  33. $sql = "SELECT * FROM snemple";
  34. $consulta = $conexion->prepare($sql);
  35. $consulta->execute();
  36.  
  37. while ($filas = $consulta->fetch())
  38. {
  39. $this->rows[] = $filas;
  40. }
  41. }
  42. }
  43. ?>
  44.  

5 - Ahora cosas Sugeridas que hice MinusFour no se bien si aplique correctamente el Var_dump disculpa esa es que todo esto es nuevo para mi pero lo hice de esta forma.

- Elimine la condicion y aplique el var_dump aqui.

Código
  1. <?php
  2.    require_once 'conexion.table.php';
  3.  
  4.        $cod_empresa = (isset($_POST['cod_empresa'])) ? $_POST['cod_empresa'] : "";
  5. $Conexion = new Conexion();
  6. $Conexion->conectar($cod_empresa);
  7.  
  8.    // if(isset($_POST['session']))
  9.    //{
  10.    //    header('location:ready.php');
  11.    //}
  12.  
  13.   var_dump($_POST['cod_empresa']);
  14. ?>
  15.  

5.1- Resultado: string(10) "HUYAP_N".

6- Aplique Var_dump aqui.

Código
  1. <?php
  2. require_once "conexion.table.php";
  3. require_once "crud.php";
  4.        echo var_dump($_POST['cod_empresa']);
  5.  
  6. $model = new Crud;
  7. $model->Read();
  8. $filas = $model->rows;
  9. $total = count($filas);
  10.  
  11. ?>
  12. <meta charset="UTF-8">
  13. <link rel="stylesheet" type="text/css" href="css/style.css">
  14. </head>
  15. <body>
  16. <section class="criterio">
  17. <div id="crit-form">
  18. <h3>Criterio de Busquedas</h3>
  19. <form class="crit-form" name="search_form" id="search_form">
  20. <small> El Total de Filas en Base de Datos: <?php echo $total ?> </small>
  21. <select size="10">
  22. <?php
  23. foreach ($filas as $fila)
  24. {
  25. ?> <option id="resultados">
  26. <?php echo $fila['cod_emp'] . $fila['nombres'] ." ". $fila['apellidos'];
  27. ?> </option>
  28. </select>
  29. <small>Por Ficha</small>
  30. <input type="text" name="search" id="search_fi" placeholder="introduzca Codigo Ficha Ej: Ch001">
  31. <small>Por Cedula</small>
  32. <input type="text" name="search" id="search_ci" placeholder="Cedula Use Puntos Ej: 49.781.190">
  33. <small>Por Nombre</small>
  34. <input type="text" name="search" id="search" placeholder="introduzca un Nombre Ej: Antonio">
  35. <small>Por Estatus</small>
  36. <select >
  37. <option>Seleccione Estatus</option>
  38. <option selected>Activo</option>
  39. <option>Inactivo</option>
  40. <option>Por Liquidar</option>
  41. <option>Liquidado</option>
  42. </select>
  43. <input type="submit" Value="Procesar">
  44. </form>
  45. </div>
  46. </section>
  47. </body>
  48. </html>
  49.  

6.1- Resultado: Notice: Undefined index: cod_empresa in C:\xampp\htdocs\sismica\ready.php on line 10
NULL.

7- y luego lo aplique aqui.

Código
  1. <?php
  2. class Conexion
  3. {
  4.    public $ndatabase ="";    
  5.    public function conectar($cod_empresa="")
  6.       {
  7.  
  8.            $this->ndatabase = $cod_empresa;
  9.            $server = 'sbvbieloven';
  10.            $database = $this->ndatabase;
  11.            $username = 'profit';
  12.            $password = 'profit';
  13.            return $conexion = new PDO('sqlsrv:Server=' . $server . ';Database='. $database, $username, $password);
  14.     }
  15. }
  16. echo var_dump($_POST['cod_empresa']);
  17. ?>
  18.  

7.1- Resultado: Notice: Undefined index: cod_empresa in C:\xampp\htdocs\sismica\conexion.table.php on line 16
NULL
« Última modificación: 3 Noviembre 2014, 21:48 pm por Slikp » En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: PHP OO Pasar un parametro o variable a una clase
« Respuesta #7 en: 3 Noviembre 2014, 21:51 pm »

Observa tus metodos Read y Create.

Ambos llaman a $modelo->conectar();

Esto ejecuta la funcion conectar de tu clase Conexion que a su vez crea un objeto PDO. Este objeto PDO se crea con un DSN invalido por lo que falla. Fijate que como llamas a la funcion sin pasar $cod_empresa, se asume '' por lo que el DSN acaba:

Código
  1. $database = '';
  2. 'sqlsrv:Server=' . $server . ';Database='. $database;

Código:
'sqlsrv:Server=sbvbieloven;Database='

En cuanto a lo del var_dump, era una prueba porque en tu post original estabas enviando el campo cod_empresa pero el indice no lo reconoce PHP. Si PHP te lo reconoce ahora entonces no hay problema.
En línea

Slikp

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: PHP OO Pasar un parametro o variable a una clase
« Respuesta #8 en: 3 Noviembre 2014, 22:18 pm »

- Cada vez me siento mas frustrado dado que intento comprender y no puedo jajaja, no entiendo porque me haces referencia a esto.

Código
  1. $database = '';
  2. 'sqlsrv:Server=' . $server . ';Database='. $database;
  3.  


- Y me estas aclarando que me hace falta algo en mis metodos Read y Create y que es el $cod_empresa? debo tenerlos asi?

Código
  1. <?php
  2. class Crud
  3. {
  4. public $insertInto;
  5. public $insertColumns;
  6. public $insertValues;
  7. public $mensaje;
  8. public $rows;
  9.  
  10. public function Create($cod_empresa)
  11. {
  12. $model = new Conexion;
  13. $conexion = $model->conectar();
  14. $insertColumns = $this->insertColumns;
  15. $insertValues = $this->$insertValues;
  16. $sql = "INSERT INTO $insertInto ($insertColumns) VALUES ($insertValues)";
  17. $consulta = $conexion->prepare($sql);
  18. if (!$consulta)
  19. {
  20. $this->mensaje = "Error...";
  21. }
  22. else
  23. {
  24. $consulta->execute();
  25. $this->mensaje = "Registro Creado";
  26. }
  27. }
  28.  
  29. public function Read($cod_empresa)
  30. {
  31. $model = new Conexion();
  32. $conexion = $model->conectar();
  33. $sql = "SELECT * FROM snemple";
  34. $consulta = $conexion->prepare($sql);
  35. $consulta->execute();
  36.  
  37. while ($filas = $consulta->fetch())
  38. {
  39. $this->rows[] = $filas;
  40. }
  41. }
  42. }
  43. ?>
  44.  

- Si lo pongo asi me sale este error:

Warning: Missing argument 1 for Crud::Read(), called in C:\xampp\htdocs\sismica\ready.php on line 6 and defined in C:\xampp\htdocs\sismica\crud.php on line 29

-Otra cosa no es mejor tener esa clase junto con la conexion asi??

Código
  1. <?php
  2. class Conexion
  3. {
  4.    public $ndatabase ="";
  5.    public $insertInto;
  6. public $insertColumns;
  7. public $insertValues;
  8. public $mensaje;
  9. public $rows;
  10.  
  11.    public function conectar($cod_empresa="")
  12.       {
  13.  
  14.            $this->ndatabase = $cod_empresa;
  15.            $server = 'sbvbieloven';
  16.            $database = $this->ndatabase;
  17.            $username = 'profit';
  18.            $password = 'profit';
  19.            return $conexion = new PDO('sqlsrv:Server=' . $server . ';Database='. $database, $username, $password);
  20.     }
  21.    public function Create()
  22. {
  23. $model = new Conexion;
  24. $conexion = $model->conectar();
  25. $insertColumns = $this->insertColumns;
  26. $insertValues = $this->$insertValues;
  27. $sql = "INSERT INTO $insertInto ($insertColumns) VALUES ($insertValues)";
  28. $consulta = $conexion->prepare($sql);
  29. if (!$consulta)
  30. {
  31. $this->mensaje = "Error...";
  32. }
  33. else
  34. {
  35. $consulta->execute();
  36. $this->mensaje = "Registro Creado";
  37. }
  38. }
  39.  
  40. public function Read()
  41. {
  42. $model = new Conexion();
  43. $conexion = $model->conectar();
  44. $sql = "SELECT * FROM snemple";
  45. $consulta = $conexion->prepare($sql);
  46. $consulta->execute();
  47.  
  48. while ($filas = $consulta->fetch())
  49. {
  50. $this->rows[] = $filas;
  51. }
  52. }
  53.  
  54. }
  55. ?>
  56.  

- Ya estoy que tiro la toalla.
En línea

T. Collins

Desconectado Desconectado

Mensajes: 206


Ver Perfil
Re: PHP OO Pasar un parametro o variable a una clase
« Respuesta #9 en: 3 Noviembre 2014, 22:45 pm »

Slikp, en los métodos crear y read llamas a $conexion->conectar() sin ningún argumento, por lo que  $database queda = ""
« Última modificación: 3 Noviembre 2014, 22:49 pm por T. Collins » En línea

Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines