Php 此脚本中的PDO错误|页面变为空白
我在这个脚本中使用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
<?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行