PHP - Fatal error: Uncaught Error: Call to a member function execute() on null in

 
Vista:
sin imagen de perfil
Val: 22
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Fatal error: Uncaught Error: Call to a member function execute() on null in

Publicado por Dany (10 intervenciones) el 22/11/2017 15:39:45
Hola mis mas cordiales saludos a todos.

Tengo unas practicas que realizar con PDO (Insertar, Eliminar, Actualizar y Mostrar)

Empece con la de Eliminar pero estoy teniendo problemas me envia el siguiente error en la linea 19:

Notice: Undefined variable: pdoResult in C:\xampp\htdocs\PHP\PHP-Mysql\P4_Delete\eliminar.php on line 19

Fatal error: Uncaught Error: Call to a member function execute() on null in C:\xampp\htdocs\PHP\PHP-Mysql\P4_Delete\eliminar.php:19 Stack trace: #0 {main} thrown in C:\xampp\htdocs\PHP\PHP-Mysql\P4_Delete\eliminar.php on line 19


Este es mi index.php

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
<?php
/* Database config */
$db_host		= 'localhost';
$db_user		= '*****';
$db_pass		= '**********';
$db_database	= 'escuela';
 
/* End config */
 
$db = new PDO('mysql:host='.$db_host.';dbname='.$db_database, $db_user, $db_pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
?>
<table border="1" cellspacing="0" cellpadding="2" >
<thead>
	<tr>
		<th> idu </th>
		<th> nivel </th>
		<th> nombre </th>
		<th> usuario </th>
	</tr>
</thead>
<tbody>
<?php
		$result = $db->prepare("SELECT * FROM usuarios");
		$result->execute();
		for($i=0; $row = $result->fetch(); $i++){
            ?>
	<tr class="record">
		<td><?php echo $row['idu']; ?></td>
		<td><?php echo $row['nivel']; ?></td>
		<td><?php echo $row['nombre']; ?></td>
        <td><?php echo $row['usuario']; ?></td>
		<td><a href="editform.php?id=<?php echo $row['idu']; ?>"> edit </a></td>
	</tr>
	<?php
		}
	?>
</tbody>
</table>
 
<form   action="eliminar.php" method="POST">
Nivel: <input type="text" name="txtnivel"> <br/>
<input  type="submit" value="Eliminar Registros" name="btneliminar">
</form>
Select Table Usando PDO

Y esta mi pagina eliminar.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
/* Database config */
$db_host		= 'localhost';
$db_user		= '*****';
$db_pass		= '**********';
$db_database	= 'escuela';
 
/* End config */
 
$db = new PDO('mysql:host='.$db_host.';dbname='.$db_database, $db_user, $db_pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
?>
 
<?php
$nivel = $_POST['txtnivel'];
$query='DELETE * FROM usuarios = WHERE nivel= "' . $nivel . '" ';
$pdoresult = $db->prepare($query);
 
$pdoExec = $pdoResult->execute($query);
 
?>
Select Table Usando PDO

Si pudieran ayudarme a resolver el problema se los agradeceria....!

Muchas gracas.

Saludos

DS
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
sin imagen de perfil
Val: 76
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Fatal error: Uncaught Error: Call to a member function execute() on null in

Publicado por preguntas (26 intervenciones) el 22/11/2017 22:02:02
$pdoresult no es igual a $pdoResult.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 22
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Fatal error: Uncaught Error: Call to a member function execute() on null in

Publicado por Dany (10 intervenciones) el 23/11/2017 02:46:25
Corregi el erro pero aun asi no me funciona, me arroja este error:

Warning: PDOStatement::execute() expects parameter 1 to be array

DS
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
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Fatal error: Uncaught Error: Call to a member function execute() on null in

Publicado por xve (6935 intervenciones) el 23/11/2017 08:05:13
Al execute(), no tienes que pasarle ningún parámetro!!! si quieres, le puedes pasar el array con los valores a reemplazar en la consulta, pero nunca la consulta SQL.

1
$pdoExec = $pdoResult->execute();

http://php.net/manual/en/pdostatement.execute.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 22
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Fatal error: Uncaught Error: Call to a member function execute() on null in

Publicado por Dany (10 intervenciones) el 23/11/2017 14:46:42
Gracias por contestar.

Al final la line de codigo quedo asi y modifique el query ya que mi campo era integer y lo estaba tratando como varchar:

1
2
$query="DELETE FROM usuarios WHERE nivel=$nivel";
$db->exec($query);


Con esto mi codigo esta funcionando como debe.

Gracias pueden cerrar el hilo.

Saludos

DS
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