我正在使用以下代码.当查询崩溃时,它不显示我在"catch"块中定义的ALERT.
<?php
error_reporting(E_ALL ^ E_NOTICE);
require_once("../Lib/dbaccess.php");
//Retrieve values from Input Form
$CategoryName = $_POST["inCategory"];
$TotalMembers = $_POST["inTotalMembers"];
$Details = $_POST["inDetails"];
$CategoryName = $_POST["inCategory"];
$Chairman = $_POST["inChairman"];
$InsertQuery = "REPLACE INTO electioncategorymaster (ecname, ecdescription, ectotalmembers, ecchairman, lastupdated) VALUES ('".$CategoryName."','".$Details."',".$TotalMembers.",'".$Chairman."',now())";
try
{
$Result = dbaccess::InsertRecord($InsertQuery);
}
catch(exception $ex)
{
echo "<script type='text/javascript'>alert('".$ex."');</script>";
}
?>
Run Code Online (Sandbox Code Playgroud)
如果要获取异常消息,则应使用:
$ex->getMessage();
Run Code Online (Sandbox Code Playgroud)
而且不仅如此$ex.
此外,你应该转义该字符串中的引号,以确保有一些有效的Javascript字符串 - addslashes可能有帮助,在这里.
如果这不会改变一件事:
此外,如果你想获得异常的完整堆栈跟踪,你可能想要使用这样的东西,而不是做一个JS alert:
echo '<pre>';
var_dump($ex);
echo '</pre>';
Run Code Online (Sandbox Code Playgroud)
而且,一如既往:在开发服务器上安装优秀的Xdebug扩展可以提供很多帮助;-)
| 归档时间: |
|
| 查看次数: |
958 次 |
| 最近记录: |