`
cakin24
  • 浏览: 1389111 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

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

    博客分类:
  • PHP
阅读更多

一 代码

<!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>

 

二 运行结果

 
  • 大小: 5.3 KB
1
1
分享到:
评论

相关推荐

    php实现PDO中捕获SQL语句错误的方法

    首先,静默模式下,PDO不会对执行的SQL语句错误抛出异常或生成错误消息,它仅仅通过PDOStatement对象的errorCode和errorInfo方法来返回错误代码和详细信息。这要求开发者手动检查这些属性来发现和处理错误。例如: ...

    php使用PDO执行SQL语句的方法分析

    本文实例讲述了php使用PDO执行SQL语句的方法。分享给大家供大家参考,具体如下: exec&#40;&#41;方法 exec&#40;&#41;方法返回执行后受影响行数,语法如下: int PDO::exec&#40;string statement&#41; 参数statement...

    php5.6+pdo+sqlserver 扩展dll

    这个描述中的“php5.6使用pdo方式连接sqlserver所使用的扩展dll”正是指的这个特定的DLL文件,它使得PHP能够识别并处理SQL Server的特定命令。 首先,你需要下载适用于PHP 5.6的PDO_SQLSRV扩展。这个扩展通常是以....

    PHP7.3的sql server PDO_DBLIB库

    - **错误处理模式**:可以设置不同的错误处理模式,如异常或警告。 2. **安装与配置** - 在Linux或Unix系统中,需要先安装FreeTDS和pdo_dblib扩展。通常使用包管理器(如`apt-get`或`yum`)来安装。 - 在Windows...

    php5.4之PDO连接SQLSERVER

    PHP的PDO连接SQLSERVER: 含全套工具: php5.4_x86_nts安装包 微软的SQLSRV拓展 微软的odbc驱动msodbcsql.msi 微软的sql客户端sqlncli.msi 配置好的php.ini 具体安装说明(原创亲测) 说实话这个得来很不容易,整整一天...

    pdo_sqlserver_5.2_5.3

    标签"pdo_sqlserver"进一步确认了我们讨论的是关于PDO扩展和SQL Server的连接。 在"压缩包子文件的文件名称列表"中,"SQLSRV20"可能是指SQL Server 20版本的驱动或者相关文件,这可能包含用于连接PHP到SQL Server ...

    SQL Server Driver for PHP 3.2 exe格式

    下载后解压缩,将所有的.dll文件拷贝到php安装目录的ext文件夹中,接下来打开php.ini,添加以下语句打开php_sqlsrv和php_pdo_sqlsrv扩展: ——————————————————– [PHP_PDO_SQLSRV] extension=...

    php采用ms官方扩展pdo方式连接高版本mssql需要sqlncli

    标题中的“php采用ms官方扩展pdo方式连接高版本mssql需要sqlncli”指的是在PHP环境中,使用微软官方提供的PDO(PHP Data Objects)扩展来连接SQL Server高版本数据库时,必须依赖sqlncli这个组件。PDO是PHP的一个...

    php5.4 使用pdo方式连接sqlserver所使用的dll文件

    在本场景中,我们关注的是PHP 5.4版本使用PDO扩展连接SQL Server数据库的方法,以及涉及到的DLL文件。DLL(Dynamic Link Library)是Windows操作系统中的共享库,用于存储函数和其他资源,供多个程序使用。 PHP 5.4...

    SQL注入语句实例演示和解释.rar

    SQL注入是一种常见的网络安全威胁,它发生在应用程序未能充分验证或过滤用户输入的数据时,攻击者可以利用这个漏洞向数据库中插入恶意的SQL语句。在这个"SQL注入语句实例演示和解释"的压缩包中,主要包含了一个名为...

    PHP获取MySQL执行sql语句的查询时间方法

    在上述文件中,提到了一个函数`runtime()`,这个函数通过调用`microtime()`来测量执行SQL语句前后的时刻,从而计算出SQL查询所花费的时间。这种方法通常用在函数中嵌入计时代码,以计算出该段代码执行的时间,这种...

    PHP100视频教程09:数据库中的常用SQL语句.rar

    这个教程主要围绕着PHP编程语言与数据库交互的核心——SQL语句展开。SQL(Structured Query Language),结构化查询语言,是用于管理关系数据库的标准语言。在PHP开发中,熟悉并能熟练运用SQL语句对于数据的增删改查...

    pdo.rar_php pdo

    4. **错误处理**:PDO提供了两种错误模式——异常和错误提示,开发者可以选择更适合项目需求的错误处理方式。 5. **数据类型绑定**:PDO支持将变量直接绑定到SQL查询中的参数,自动处理数据类型转换,减少了因类型...

    MySQL mysql_query 函数执行SQL语句.docx

    在上面的示例中,mysql_query() 函数执行了一个错误的 SQL 语句,因此返回 FALSE。 2. 插入示例 ```php $conn = @mysql_connect('localhost', 'root', 'root123'); if (!$conn) { die('连接数据库失败:' . mysql...

    SQL语句上课代码.zip

    在"SQL上课笔记"中,可能会详细讲解这些概念,并通过实例代码进行实践,帮助学习者理解和掌握SQL语句的使用。通过这样的学习,你可以创建、修改和管理自己的数据库,进行复杂的数据查询和分析,从而在数据分析、Web...

    超级SQL语句大全php.zip

    - 参数化查询:避免直接在SQL语句中拼接用户输入,使用参数化查询可以防止SQL注入。 - 权限控制:合理分配数据库用户的权限,避免过度授权。 - 日志审计:记录数据库操作日志,便于追踪异常行为。 6. 其他: - ...

    php pdo oracle中文乱码的快速解决方法

    在执行SQL查询时,确认SQL语句中没有使用Oracle客户端默认编码进行字符比较或者排序,以避免在结果集输出时产生乱码。 最后,解决乱码问题后,需要重启php-fpm服务使设置生效。可以通过以下命令重启服务: ```bash...

    php mssql扩展SQL查询中文字段名解决方法

    当数据库(这里是SQL Server 2000)中的字段名使用中文,并且PHP脚本(可能是UTF-8编码)尝试通过mssql扩展执行查询时,由于编码不匹配,可能会导致中文字段名在SQL语句中被解析为乱码,从而引发错误。PHP的mssql...

Global site tag (gtag.js) - Google Analytics