数据库资讯

为什么你应该使用PHP PDO访问数据库

# connect to the database
   try {
 $DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
 $DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
# UH-OH! Typed DELECT instead of SELECT!
   $DBH->prepare('DELECT name FROM people');
   }
   catch(PDOException $e) {
   echo "I'm sorry, Dave. I'm afraid I can't do that.";
   file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
   }

上面是一个在select statement中的内部错误; 这将会引发一个异常. 这段异常处理代码将会把错误详情发送到一个日志文件中, 然后显示一个友好的(当然,友不友好随你便)消息给用户.


插入、更新数据

插入新数据、或更新一个已经存在的数据,是最常见的数据库操作之一. PDO提供了一种[[normally a two-step process]]. 本节中介绍的所有内容同样适用于 UPDATE 和 INSERT 操作.

2 to 3 step insert and update

下面是一个最基本的插入的例子:

# STH means “Statement Handle”

$STH = $DBH->prepare(“INSERT INTO folks ( first_name ) values ( ‘Cathy’ )”);

$STH->execute();

您也可以直接使用exec()方法完成相同的操作(PS:使用exec()方法可以减少一个调用). 在大多数情况下,您可能会多次调用这个方法, 所以呢, 您可以享受到prepared statements带来的好处. 甚至如果您只想调用它一次, 使用prepared statements will 也会帮您挡住 SQL injection 攻击.

Prepared Statements

使用 prepared statements 将帮助您防止 SQL injection 的危险.

Prepared statement的语句是只需要发送数据到服务器的预编译 SQL 语句, 它具有自动处理数据以免受 SQL injection 攻击的优点。

希望看到您的想法,请您发表评论x