Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: KrissDrakon en 13 Abril 2018, 16:20 pm



Título: Fatal error al generar un excel con PHPExcel y SQL… “function query() on a non..
Publicado por: KrissDrakon en 13 Abril 2018, 16:20 pm
Hola a tod@s, mi problema en concreto es que debo generar un excel[.xlsx] (uso PHPExcel) con datos desde SQL Server con PHP...
El script que edito ya existía con sentencias MySQL y funcionaba perfectamente, pero al cambiar las sentencias por SQL me genera el siguiente error:

"Fatal error: Call to a member function query() on a non-object in C:\\..."

Y el código en resumen es:

Código:
$query_Data="select * from etc etc etc";

$connectionInfo1 = array( "Database"=>xxx, "UID"=>yyy, "PWD"=>zzz);
$conexion = sqlsrv_connect($serverName, $connectionInfo1);

$resultado = $conexion->query($query_Data);
(cualquier cosa que reemplace a query me genera error)

Nota: No sé si tenga que ver que el método de llamado de conexión es distinto en MySQL (que si sirve) al de SQL (que no sirve.)

Agradezco me pueden colaborar con información de como puedo solucionar ese "Fatal error", de antemano mil gracias!"Fatal error", de antemano mil gracias!


Título: Re: Fatal error al generar un excel con PHPExcel y SQL… “function query() on a non..
Publicado por: Shell Root en 13 Abril 2018, 17:32 pm
Debería ser sqlsrv_query, no?

Código
  1. $serverName = "serverName\sqlexpress";
  2. $connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
  3. $conn = sqlsrv_connect( $serverName, $connectionInfo);
  4. if( $conn === false ) {
  5.     die( print_r( sqlsrv_errors(), true));
  6. }
  7.  
  8. $sql = "INSERT INTO Table_1 (id, data) VALUES (?, ?)";
  9. $params = array(1, "some data");
  10.  
  11. $stmt = sqlsrv_query( $conn, $sql, $params);
  12. if( $stmt === false ) {
  13.     die( print_r( sqlsrv_errors(), true));
  14. }
:http://php.net/manual/es/function.sqlsrv-query.php


Título: Re: Fatal error al generar un excel con PHPExcel y SQL… “function query() on a non..
Publicado por: KrissDrakon en 13 Abril 2018, 19:26 pm
Debería ser sqlsrv_query, no?

Código
  1. $serverName = "serverName\sqlexpress";
  2. $connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
  3. $conn = sqlsrv_connect( $serverName, $connectionInfo);
  4. if( $conn === false ) {
  5.     die( print_r( sqlsrv_errors(), true));
  6. }
  7.  
  8. $sql = "INSERT INTO Table_1 (id, data) VALUES (?, ?)";
  9. $params = array(1, "some data");
  10.  
  11. $stmt = sqlsrv_query( $conn, $sql, $params);
  12. if( $stmt === false ) {
  13.     die( print_r( sqlsrv_errors(), true));
  14. }
:http://php.net/manual/es/function.sqlsrv-query.php

Exacto, ese el que siempre uso para los querys, pero en ese caso me genera:
"Fatal error: Call to a member function sqlsrv_query() on a non-object in C:\\..."