我一直在尝试使用PHP链接到MySQL数据库时遇到严重问题。 php脚本崩溃而没有回显任何错误消息。
为了追踪错误我已经削减了代码。它甚至会像简单的赋值操作一样崩溃!
代码
<!DOCTYPE html>
<head>
<title>
</title>
</head>
<body>
Testing<br />
<?php
echo("hello")
$hostname_testserver = "stringvar";
echo(" no1 ")
?>
Testing <br />
</body>
</html>
显示nada:绝对没有任何源代码。空白屏幕,没有浏览器错误消息;什么都没有。
这是如此奇特的原因是我知道我已经成功地设法让php脚本在这个服务器上运行......正是使用了这个赋值。
所以更自然的事情就像:
<?php
/*** mysql hostname ***/
$hostname = 'HOST';
/*** mysql username ***/
$username = 'NAME';
/*** mysql password ***/
$password = 'PASSWORD';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=DATABASE", $username, $password);
/*** echo a message saying we have connected ***/
echo 'Successfully connected with database<br />';
/*** INSERT data ***/
$count = $dbh->exec($insertion);
/*** echo the number of affected rows ***/
echo $count;
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
甚至没有离开地面&gt;&lt;
答案 0 :(得分:3)
错误报告可能已停用,快速查看显示您在try语句中缺少结束括号
try {
$dbh = new PDO("mysql:host=$hostname;dbname=DATABASE", $username, $password);
echo 'Successfully connected with database<br />';
$count = $dbh->exec($insertion);
echo $count;
} //This one
catch(PDOException $e)
{
echo $e->getMessage();
}
答案 1 :(得分:0)
你的第一个剧本中有一些致命的错误;你忘记了一些“;”在你的echo语句之后(不需要括号内的BTW) 您应该显示PHP错误,或记录它们(并监视日志......)
答案 2 :(得分:0)
主要是服务器问题,既没有设置错误报告也没有设置PDO驱动程序,这让我很困惑。上面建议的代码,以使错误报告工作,是不成功的。在删除语法错误后,我在问题中引用的第一批代码正确运行。经过大量的呵护后,服务器最终显示一条消息,确认未安装PDO驱动程序。我最终通过移动到更好的服务器来解决这个问题,上述两个都已经预先配置好了。如果其他人正在寻找与未安装PDO相关的信息,您可以查看此处:PDOException “could not find driver”