- Buenos dias Patriarka disculpa por escribir tan tarde, pero este fin de semana no tuve tiempo... Intente lo que me sugeristes 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 PHP:
Ver original<?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:
Ver original<?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:
Ver original<?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.