PDO中捕获SQL语句中的错误——静默模式

一 代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>使用默认模式——PDO::ERRMODE_SILENT捕获SQL中的错误</title>
<style type="text/css">
<!--
body,td,th {
	font-size: 12px;
	overflow:hidden;
}
-->
</style></head>
<body>
	<form id="form1" name="form1" method="post" action="index.php">	
		<table width="310" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td height="30" align="right">类型:</td>
            <td align="left"><input name="pdo" type="text" id="pdo" size="20" /></td>
          </tr>
          <tr>
            <td height="25" align="right">数据库:</td>
            <td align="left"><input name="databases" type="text" id="databases" size="20" /></td>
          </tr>
          <tr>
            <td height="25" align="right">时间:</td>
            <td align="left"><input name="dates" type="text" id="dates" size="20" /></td>
          </tr>
          <tr>
            <td height="30" colspan="2" align="center"><input type="submit" name="Submit" value="提交" />&nbsp;&nbsp;<input type="reset" name="Submit2" value="重置" /></td>
          </tr>
		  
	<?php
if($_POST['Submit']=="提交" && $_POST['pdo']!=""){
	$dbms='mysql';     					//数据库类型 ,对于开发者来说,使用不同的数据库,只要改这个,不用记住那么多的函数
	$host='localhost'; 					//数据库主机名
	$dbName='db_database15';    		//使用的数据库
	$user='root';      					//数据库连接用户名
	$pass='root';          				//对应的密码
	$dsn="$dbms:host=$host;dbname=$dbName";
    $pdo = new PDO($dsn, $user, $pass); 	//初始化一个PDO对象,就是创建了数据库连接对象$pdo
	$query="insert into tb_pdo_mysqls(pdo_type,database_name,dates)values('".$_POST['pdo']."','".$_POST['databases']."','".$_POST['dates']."')";
	$result=$pdo->prepare($query);
	$result->execute();
	$code=$result->errorCode();
	if(empty($code)){
		echo "数据添加成功!";
	}else{
		echo '数据库错误:<br/>';
		echo 'SQL Query:'.$query;
		echo  '<pre>';
		var_dump($result->errorInfo());			
		echo '</pre>';
	}
}
		  ?>
        </table>
		</form>
</body>
</html>

 

二 运行结果

 

你可能感兴趣的:(sql,pdo,静默模式)