PHP-MYSQL 学习笔记

PHP连接数据库

PDO: 静默模式(default)/警告模式/异常模式

处理PDO静默模式 需要用 “===”判断,避免”影响0行”的成功查询

$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);

$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);  



try{

    $db = new PDO('mysql:host=localhost;dbname=practise4php','root','root');

}catch (PDOException $e){

    echo "errors :".$e->getMessage();

}

$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

//INSERT

$row = $db->exec('INSERT INTO dishes (dish_id,dish_name,price,is_spicy) VALUES (6,\'Big Chips\',12,0)');

echo $row;

//UPDATE

$row = $db->exec('UPDATE dishes SET dish_name = \'bigchips\' WHERE dish_id = 6');

echo $row;

//DELETE

$row = $db->exec('DELETE FROM dishes WHERE dish_id = 12');

echo $row;

//使用占位符和execute($arr)传入values进行数据插入

$stmt = $db->prepare('INSERT INTO dishes (dish_id,dish_name,price,is_spicy) VALUES (?,?,?,?)');

$stmt->execute(array(12,'dish',111,1));

/*SELECT  只能使用query()和fetch()方法

$q->fetch()中不带参数: 返回值为数组;

使用PDO::FETCH_NUM参数:返回值为键值对数组;

使用PDO::FETCH_OBJ参数: 返回值为对象;*/

$q = $db->query('SELECT * FROM dishes ORDER BY dish_id');

while ($row = $q->fetch()){

//    echo "ID = {$row->dish_id} , Name = {$row->dish_name} , Price = {$row->price} , Taste = {$row->is_spicy}
";

    echo "ID ={$row[0]} , Name = {$row[1]} , Price = {$row[2]} , Taste = {$row[3]}
";

}

//使用默认获取风格  $q->setFetchMode(PDO::FETCH_NUM);

//为所有查询设定默认获取风格,在连接上调用setAttribute()方法:$db->setAttribute(PDO::DEFAULT_FETCH_MODE,PDO::FETCH_NUM);


安全获取表单数据:使用PDO提供的quote()和strtr()函数。

    1.将表单提交的值传给quote()。

    2.使用strtr()转义SQL通配符 % 和 _ 。

转义后的字符串可以在查询中放心使用。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在php中使用date函数时,如果遇到输入 echo date('h:ia,jS F Y'); 出现 ​​​ 即时...
    guanghai阅读 211评论 0 1
  • pdo基本使用 【PDO是啥】 PDO是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都...
    桖辶殇阅读 1,359评论 0 4
  • pdo类PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,...
    桖辶殇阅读 895评论 0 0
  • 这一篇最主要是记录下命令,方便以后查找 使用Mysql 创建数据库 create database mysql_t...
    Treehl阅读 603评论 0 0
  • 她和着灿烂的晨光散落在我怀中的时候我已经沉睡了一千年——为了这一刻 我静静地等待着她触摸我坚硬而干冷的唇湿润它们 ...
    胡三多阅读 134评论 0 0