with texto strip_tags remove quitar para limpiar funcion etiquetas ejemplo php mysql pdo

php - texto - Mi declaración de PDO no funciona



strip_tags wordpress (1)

Esta es mi declaración SQL sql y está devolviendo false mientras var dump

$password_md5 = md5($_GET[''password'']); $sql = $dbh->prepare(''INSERT INTO users(full_name, e_mail, username, password, password_plain) VALUES (:fullname, :email, :username, :password, :password_plain)''); $result = $sql->execute(array( '':fullname'' => $_GET[''fullname''], '':email'' => $_GET[''email''], '':username'' => $_GET[''username''], '':password'' => $password_md5, '':password_plain'' => $_GET[''password'']));


Si la declaración PDO devuelve FALSE , significa que la consulta falló. Debe configurar PDO en el modo de informe de errores adecuado para estar al tanto del error.

Pon esta línea en tu código justo después de conectarte

$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

o agregue este parámetro como una opción de conexión . Después de eso, todos los errores de la base de datos se traducirán en excepciones PDO que pueden detectarse o simplemente dejarse solos y, en este caso, actuarían como errores PHP normales.

Existe una pequeña posibilidad de que, en caso de algún error específico, no se produzca una excepción. Si su query() / prepare() o execute () devuelve false pero no hay excepción, verifique PDO::errorInfo() esta manera,

print_r($dbh->errorInfo());

pero recuerde usar este código solo durante el desarrollo. Mientras que las excepciones son buenas para los modos de desarrollo y producción. Su servidor debe estar configurado para registrar errores en modo de producción y mostrarlos en desarrollo.

Después de recibir el mensaje de error, debe leerlo y comprenderlo. Suena demasiado obvio, pero los estudiantes a menudo pasan por alto el significado del mensaje de error. Sin embargo, la mayoría de las veces explica el problema de manera bastante directa. Digamos, si dice que esa tabla en particular no existe, debe verificar la ortografía, los errores tipográficos, las mayúsculas y minúsculas, las credenciales y demás. O, si dice que hay un error en la sintaxis de SQL, entonces debe examinar su SQL. Y el punto problemático es justo antes de la parte de consulta citada en el mensaje de error.

También debe confiar en el mensaje de error. Si dice que el número de tokens no coincide con el número de variables enlazadas, entonces es así. Lo mismo ocurre con las tablas o columnas ausentes. Dada la opción, ya sea que sea su propio error o que el mensaje de error sea incorrecto, siempre adhiérase al primero. Una vez más, suena condescendiente, pero cientos de preguntas en este mismo sitio demuestran que este consejo es extremadamente útil.

Tenga en cuenta que para ver los errores de PDO, debe poder ver los errores de PHP en general. Para hacerlo, debe configurar PHP depende del entorno del sitio:

  • en un servidor de desarrollo es muy útil tener errores directamente en la pantalla, para lo cual se deben activar los errores de visualización:

    error_reporting(E_ALL); ini_set(''display_errors'',1);

  • mientras está en un sitio en vivo , todos los errores deben registrarse, pero nunca deben mostrarse al cliente. Para esto, configure PHP de esta manera:

    error_reporting(E_ALL); ini_set(''display_errors'', 0); ini_set(''log_errors'', 1);

Tenga en cuenta que error_reporting debe establecerse en E_ALL todo el tiempo.

También tenga en cuenta que a pesar de la ilusión común, no se debe utilizar try-catch para el informe de errores . PHP ya le informará errores de PDO, y de una manera mejor. Una excepción no detectada es muy buena para el desarrollo, sin embargo, si desea mostrar una página de error personalizada, todavía no use try catch para esto, solo configure el controlador de error personalizado . En pocas palabras, no tiene que tratar los errores de PDO como algo especial, sino considerarlos como cualquier otro error en su código.