一 代码
<!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="提交" /> <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>
二 运行结果
相关推荐
首先,静默模式下,PDO不会对执行的SQL语句错误抛出异常或生成错误消息,它仅仅通过PDOStatement对象的errorCode和errorInfo方法来返回错误代码和详细信息。这要求开发者手动检查这些属性来发现和处理错误。例如: ...
本文实例讲述了php使用PDO执行SQL语句的方法。分享给大家供大家参考,具体如下: exec()方法 exec()方法返回执行后受影响行数,语法如下: int PDO::exec(string statement) 参数statement...
这个描述中的“php5.6使用pdo方式连接sqlserver所使用的扩展dll”正是指的这个特定的DLL文件,它使得PHP能够识别并处理SQL Server的特定命令。 首先,你需要下载适用于PHP 5.6的PDO_SQLSRV扩展。这个扩展通常是以....
- **错误处理模式**:可以设置不同的错误处理模式,如异常或警告。 2. **安装与配置** - 在Linux或Unix系统中,需要先安装FreeTDS和pdo_dblib扩展。通常使用包管理器(如`apt-get`或`yum`)来安装。 - 在Windows...
PHP的PDO连接SQLSERVER: 含全套工具: php5.4_x86_nts安装包 微软的SQLSRV拓展 微软的odbc驱动msodbcsql.msi 微软的sql客户端sqlncli.msi 配置好的php.ini 具体安装说明(原创亲测) 说实话这个得来很不容易,整整一天...
标签"pdo_sqlserver"进一步确认了我们讨论的是关于PDO扩展和SQL Server的连接。 在"压缩包子文件的文件名称列表"中,"SQLSRV20"可能是指SQL Server 20版本的驱动或者相关文件,这可能包含用于连接PHP到SQL Server ...
下载后解压缩,将所有的.dll文件拷贝到php安装目录的ext文件夹中,接下来打开php.ini,添加以下语句打开php_sqlsrv和php_pdo_sqlsrv扩展: ——————————————————– [PHP_PDO_SQLSRV] extension=...
标题中的“php采用ms官方扩展pdo方式连接高版本mssql需要sqlncli”指的是在PHP环境中,使用微软官方提供的PDO(PHP Data Objects)扩展来连接SQL Server高版本数据库时,必须依赖sqlncli这个组件。PDO是PHP的一个...
在本场景中,我们关注的是PHP 5.4版本使用PDO扩展连接SQL Server数据库的方法,以及涉及到的DLL文件。DLL(Dynamic Link Library)是Windows操作系统中的共享库,用于存储函数和其他资源,供多个程序使用。 PHP 5.4...
SQL注入是一种常见的网络安全威胁,它发生在应用程序未能充分验证或过滤用户输入的数据时,攻击者可以利用这个漏洞向数据库中插入恶意的SQL语句。在这个"SQL注入语句实例演示和解释"的压缩包中,主要包含了一个名为...
在上述文件中,提到了一个函数`runtime()`,这个函数通过调用`microtime()`来测量执行SQL语句前后的时刻,从而计算出SQL查询所花费的时间。这种方法通常用在函数中嵌入计时代码,以计算出该段代码执行的时间,这种...
这个教程主要围绕着PHP编程语言与数据库交互的核心——SQL语句展开。SQL(Structured Query Language),结构化查询语言,是用于管理关系数据库的标准语言。在PHP开发中,熟悉并能熟练运用SQL语句对于数据的增删改查...
4. **错误处理**:PDO提供了两种错误模式——异常和错误提示,开发者可以选择更适合项目需求的错误处理方式。 5. **数据类型绑定**:PDO支持将变量直接绑定到SQL查询中的参数,自动处理数据类型转换,减少了因类型...
在上面的示例中,mysql_query() 函数执行了一个错误的 SQL 语句,因此返回 FALSE。 2. 插入示例 ```php $conn = @mysql_connect('localhost', 'root', 'root123'); if (!$conn) { die('连接数据库失败:' . mysql...
在"SQL上课笔记"中,可能会详细讲解这些概念,并通过实例代码进行实践,帮助学习者理解和掌握SQL语句的使用。通过这样的学习,你可以创建、修改和管理自己的数据库,进行复杂的数据查询和分析,从而在数据分析、Web...
- 参数化查询:避免直接在SQL语句中拼接用户输入,使用参数化查询可以防止SQL注入。 - 权限控制:合理分配数据库用户的权限,避免过度授权。 - 日志审计:记录数据库操作日志,便于追踪异常行为。 6. 其他: - ...
在执行SQL查询时,确认SQL语句中没有使用Oracle客户端默认编码进行字符比较或者排序,以避免在结果集输出时产生乱码。 最后,解决乱码问题后,需要重启php-fpm服务使设置生效。可以通过以下命令重启服务: ```bash...
当数据库(这里是SQL Server 2000)中的字段名使用中文,并且PHP脚本(可能是UTF-8编码)尝试通过mssql扩展执行查询时,由于编码不匹配,可能会导致中文字段名在SQL语句中被解析为乱码,从而引发错误。PHP的mssql...