- 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.
- 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.
- Intente incluirlas en un solo archivo para ver si asi se solucionaba el problema y nada, intente de esta forma.
- 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.
- 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
<?php class Conexion { public function conectar() { $server = 'sbvbieloven'; $database = 'huyapari_n'; $username = 'profit'; $password = 'profit'; return $conexion = new PDO('sqlsrv:Server=' . $server . ';Database='. $database, $username, $password); } } ?>
- 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
<?php class Crud { public $insertInto; public $insertColumns; public $insertValues; public $mensaje; public $rows; public function Create() { $model = new Conexion; $conexion = $model->conectar(); $insertColumns = $this->insertColumns; $insertValues = $this->$insertValues; $sql = "INSERT INTO $insertInto ($insertColumns) VALUES ($insertValues)"; $consulta = $conexion->prepare($sql); if (!$consulta) { $this->mensaje = "Error..."; } else { $consulta->execute(); $this->mensaje = "Registro Creado"; } } public function Read() { $model = new Conexion(); $conexion = $model->conectar(); $sql = "SELECT * FROM snemple"; $consulta = $conexion->prepare($sql); $consulta->execute(); while ($filas = $consulta->fetch()) { $this->rows[] = $filas; } } } ?>
- Intente incluirlas en un solo archivo para ver si asi se solucionaba el problema y nada, intente de esta forma.
Código
<?php class Conexion { public $ndatabase =""; public $insertInto; public $insertColumns; public $insertValues; public $mensaje; public $rows; public function conectar($cod_empresa="") { $this->ndatabase = $cod_empresa; $server = 'sbvbieloven'; $database = $this->ndatabase; $username = 'profit'; $password = 'profit'; return $conexion = new PDO('sqlsrv:Server=' . $server . ';Database='. $database, $username, $password); } public function Create() { $model = new Conexion; $conexion = $model->conectar(); $insertColumns = $this->insertColumns; $insertValues = $this->$insertValues; $sql = "INSERT INTO $insertInto ($insertColumns) VALUES ($insertValues)"; $consulta = $conexion->prepare($sql); if (!$consulta) { $this->mensaje = "Error..."; } else { $consulta->execute(); $this->mensaje = "Registro Creado"; } } public function Read() { $model = new Conexion(); $conexion = $model->conectar(); $sql = "SELECT * FROM snemple"; $consulta = $conexion->prepare($sql); $consulta->execute(); while ($filas = $consulta->fetch()) { $this->rows[] = $filas; } } } ?>
- 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.
Puedes hacerlo todo en una clase si gustas.
Lo que yo haria es guardar la conexion PDO en una variable.
Código
class Conexion { protected $dbh; public function __construct() { //Guardas la conexion en una variable del objeto. $this->dbh = new PDO(...); } public function usoConexionParaLoQueSea($query){ $query = $this->dbh->query($query); //o: $query = $this->dbh->prepare($query); $query->excute(); } }