Problema al Capturar Dato Inexistente en SQLite3

  • Autor Autor Prospero
  • Fecha de inicio Fecha de inicio

Prospero

Eta
Verificación en dos pasos activada
Hola amigos, estoy trayendo un dato de la db hasta ahi todo bien lo trae pero cuando este no existe me tira error.


hasta ahi me lo trae perfecto porque el grupo existe! pero cuando no existe el grupo. me sale

Warning: Undefined variable $Registrado in C:\xampp\htdocs\hospital\consulta.php on line 24

quiero traer que no existe para registrarlo pero toy perdido. gracias. jajaja
 
Primero que nada, si solo vas a explorar una tupla, no tiene sentido que uses un while. Para comprobar si existe, con un if bastaría:

PHP:
$row = $ret->fetchArray(SQLITE3_ASSOC);
if (empty($row))
    echo "No existe";
else
    echo "Existe";

En estos casos, recomiendo, hacer menos copipaste+run y procurar entender bien lo que se está haciendo, incluso aquello que estás leyendo en stack overflow o similares, ya que programar no se puede hacer por mnemotecnia.

Explicando lo que sucede con el while: Cuando se da el caso de que no existe, la condicional que has puesto devuelve false, por lo que nunca entra y "$Registrado" no llega a definirse. Desde luego hay muchas soluciones posibles:

1. Definir "$Registrado" con un valor por defecto antes del while.
2. Quitar el while, cambiarlo por un if y usar el "else" para darle el valor por defecto.
3. Las 2 anteriores, para no usar el "else".
4. Cuando uses "$Registrado" más adelante (línea 24, según tu error), usar "isset()" para saber si está o no definido y trabajar con eso.
5. Usar otra solución que escribí arriba.
6. etc.

Soluciones hay muchas, solo hay que centrarse en aprender antes que en resolverlo por fuerza bruta de copipaste.

kj
 
graciiias bro se entendio perfecto todo.