Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

450
Visualizações
Excepción de PHP MongoDB (manejo de errores)

Tengo una plataforma PHP donde el usuario escribe una consulta mongodb como la imagen a continuación

ingrese la descripción de la imagen aquí

y el siguiente resultado de impresión de código como una tabla

 $m = new MongoClient(); $db = $m->Forensic; $coll= $db->mobile_data; if (isset($_POST['txt_area']) && !empty($_POST['txt_area'])) { $d = ($_POST['txt_area']); $p = json_decode($d); $user_code = $coll->find($p);

Cuando escribo el código correcto, el sistema puede generar todos mis resultados, pero si escribo la consulta incorrecta, recibo un mensaje de error como

 Warning: MongoCollection::find(): expects parameter 1 to be an array or object, null given in C:\xampp\htdocs\reports5.php on line 126

para detectar ese error, he intentado seguir el código de captura de prueba pero no tuve suerte

 try { if (isset($_POST['txt_area']) && !empty($_POST['txt_area'])) { $d = ($_POST['txt_area']); $p = json_decode($d); $user_code = $coll->find($p); $NumberOfRow2 = $user_code->count(); $user_code->sort(array('Chat_group' => -1, 'Instant_Message' => 1 )); } } catch (MongoCursorException $e) { echo "error message: ".$e->getMessage()."\n"; echo "error code: ".$e->getCode()."\n"; } catch (MongoException $e) { echo $e->getMessage(); } catch(MongoResultException $e) { echo $e->getMessage(), "\n"; $res = $e->getDocument(); var_dump($res); }

¿Cuál sería la mejor manera de detectar el error anterior?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

La advertencia que está viendo es que PHP se queja de que $coll->find($p); espera que $p sea una matriz u objeto mientras es null . Citando la documentación json_decode :

Se devuelve NULL si el json no se puede decodificar o si los datos codificados son más profundos que el límite de recurrencia.

Entonces, una forma adecuada de defenderse de una advertencia sería:

 $p = json_decode($d); if ($p === null) { echo "Provided query is invalid!"; } else { // do your logic }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda