Php 此脚本中的PDO错误|页面变为空白

Php 此脚本中的PDO错误|页面变为空白,php,mysql,pdo,Php,Mysql,Pdo,我在这个脚本中使用PDO时遇到了一个奇怪的问题。可能问题很简单,但我找不到,这让我发疯。 问题是当我启动脚本时,页面将变为空白 <?php //PDO if(isset($_POST['submit'])) { // test row $password = $_POST['upassword']; $email = $_POST['email']; $_SESSION['email'] = $email; $servername

我在这个脚本中使用PDO时遇到了一个奇怪的问题。可能问题很简单,但我找不到,这让我发疯。 问题是当我启动脚本时,页面将变为空白

<?php

    //PDO
if(isset($_POST['submit'])) {   
    // test row

    $password = $_POST['upassword'];
    $email = $_POST['email'];
    $_SESSION['email'] = $email;

    $servername = "localhost";
    $username = "root";
    $password = "passwordxyz";
    $dbname = "abcd";

    try {
        $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // set the PDO error mode to exception
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        $statement = $conn->prepare('SELECT `password` FROM `users` WHERE `email` = :email');  
        $statement->bindParam(':email', $email);  
        $statement->execute();  
        while($row = $statement->fetch() ){  
            echo 'ok';  
        }       
    }
} 


?>

请帮我解决这个问题。
谢谢。

您有
try
子句,但没有
catch
,这就是产生错误的原因

<?php

//PDO
if(isset($_POST['submit'])) {   

$password = $_POST['upassword'];
$email = $_POST['email'];
$_SESSION['email'] = $email;
$servername = "localhost";
$username = "root";
$password = "passwordxyz";
$dbname = "abcd";

try{
      $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
      // set the PDO error mode to exception
      $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      $statement = $conn->prepare('SELECT `password` FROM `users` WHERE `email` = :email');  
      $statement->bindParam(':email', $email);  
      $statement->execute();  
      while($row = $statement->fetch() ){  
          echo 'ok';  
      }
   }
catch(Exception $e){
        //change from general to specific exception and handle here
    }
}

一个“500内部服务器错误”状态代码(或一个空白页)表示您的脚本正在抛出一个错误,但您尚未将PHP配置为显示错误消息。这是你在继续之前需要解决的问题;如果没有错误消息的帮助,就不可能正确地编写代码。这是一个例子。错误报告的经验法则是:在开发中显示,在生产中登录。感谢您的回答,我打开了错误消息,它说:致命错误:不能使用try with catch或finally in/var/www/core/login.php,第41行