estoy trabajando con un sistema de votaciones en PHP, para ello he creado un formulario que recoje la eleccion del usuario y recarga la pagina que al ver que hay un voto actualiza el valor de los votos de la opcion elegida. El problema es que al entrar en la comprobacion no reconoce el objeto de la DB.
os dejo el codigo:
Código PHP:
Ver original
if(isset($_POST["voto"])) { if(!$id) die("error de BD"); $lenguaje=$_POST["voto"]; $sql="SELECT votos from lenguajes WHERE lenguaje=$lenguaje"; $rs=$id->query($sql); $fila=$rs->fetch_assoc(); $votos=$fila["votos"]; $sql="UPDATE lenguajes SET votos=$votos+1 WHERE lenguaje=$lenguaje"; $id->query($sql); } ?> <h1>Vota por tu lenguaje de programación preferido</h1> <!-- Formulario que permite votar --> <form method="post"> <select name="voto"> <?php $id=new mysqli($host,$usr,$pass,$db); $sql="SELECT * from lenguajes"; $rs=$id->query($sql); while($f=$rs->fetch_assoc()){ echo "<option value=\"$f[lenguaje]\">$f[lenguaje]</option>"; } ?> </select> <input type="submit" value="Enviar"> </form>
al ejecutar la consulta de comprobacion(linea 5) me falla el metodo query porque la DB es null(sin embargo para crear el formulario si abre la DB), ¿por que no lo reconoce si lo abri previamente(en el formulario)?