PHP - No puedo ejecutar consultas mysql con PDO

 
Vista:
Imágen de perfil de Reinaldo

No puedo ejecutar consultas mysql con PDO

Publicado por Reinaldo (16 intervenciones) el 22/01/2016 23:53:16
Saludo cordial.

Me encuentro adelantando un proyecto de pagina web que crea una factura.

En esta factura estoy implementando una tabla jtable CRUD con ajax y jQuery http://www.jtable.org/Demo.

Hasta ahora todo iba bien pero cuando empiezo a configurar los scripts para la base de datos (la versión está en la api mysql) para que queden con la api PDO, no puedo establecer conexión o nome reconoce el primer query que toma los elementos.

Anexo el código php que realiza la primera consulta o el listado de elementos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
if($_GET["action"] == "list")
	{
		//Get record count
                $sql = $conn->prepare("SELECT COUNT(*) AS RecordCount FROM DET_FACTURA");
                $sql->execute();
 
                $row = $sql->fetch_All();
		$recordCount = $row['RecordCount'];
 
		//Get records from database
		$result = $conn->prepare('SELECT * FROM DET_FACTURA ORDER BY " . $_GET["jtSorting"] . " LIMIT " . $_GET["jtStartIndex"] . "," . $_GET["jtPageSize"] . ";');
 
		//Add all records to an array
		$rows = array();
		while($row = $sql->fetch_array($sql))
		{
		    $rows[] = $row;
		}
 
		//Return result to jTable
		$jTableResult = array();
		$jTableResult['Result'] = "OK";
		$jTableResult['TotalRecordCount'] = $recordCount;
		$jTableResult['Records'] = $rows;
		print json_encode($jTableResult);
	}

Gracias por la ayuda que me puedan brindar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Junior

No puedo ejecutar consultas mysql con PDO

Publicado por Junior (12 intervenciones) el 30/01/2016 16:14:58
Para evitar volverte loco buscando errores captura los errores con "try catch"

Modifica tu conexión
1
2
3
4
5
6
7
try {
  $conn= new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
  $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
catch(PDOException $e) {
    echo "Se ha producido un error al intentar conectar al servidor MySQL: ".$e->getMessage();
}


Luego cada consulta que hagas, la pones dentro de una Try Catch.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
try {
  		//Get record count
 
                $sql = $conn->prepare("SELECT COUNT(*) AS RecordCount FROM DET_FACTURA");
 
                $sql->execute();
 
 
 
                $row = $sql->fetch_All();
 
		$recordCount = $row['RecordCount'];
 
 
 
		//Get records from database
 
		$result = $conn->prepare('SELECT * FROM DET_FACTURA ORDER BY " . $_GET["jtSorting"] . " LIMIT " . $_GET["jtStartIndex"] . "," . $_GET["jtPageSize"] . ";');
 
 
 
		//Add all records to an array
 
		$rows = array();
 
		while($row = $sql->fetch_array($sql))
 
		{
 
		    $rows[] = $row;
 
		}
 
 
 
		//Return result to jTable
 
		$jTableResult = array();
 
		$jTableResult['Result'] = "OK";
 
		$jTableResult['TotalRecordCount'] = $recordCount;
 
		$jTableResult['Records'] = $rows;
 
		print json_encode($jTableResult);
}
catch(PDOException $e) {
    echo "Se ha producido un error en la ejecucion de la consulta: ".$e->getMessage();
}

Así podrás determinar los problemas con facilidad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar