文章出處

0.環境說明
win10 xampp phpstorm
xampp帶了apache和mysql以及phpmyadmin

1.配置mysql:修改默認編碼
關mysql
xampp/mysql/bin/my.ini
在[mysqld]后添加character-set-server=utf8
在[mysql]后添加default-character-set=utf8
重啟mysql

1.1配置php.ini,改時區為上海:

date.timezone=Asia/Shanghai

1.2配置php.ini,修改錯誤級別:

error_reporting=E_ALL

2.建表
給個例子:

use common_module;
create table if not exists contacts(
user_id int auto_increment primary key,
email varchar(60) comment '郵箱',
name varchar(60) comment '姓名',
sex tinyint(1) comment '性別 1男 2女',
address varchar(60) comment '地址',
phone varchar(20) comment '手機號'
)CHARSET=utf8;

到phpmyadmin里面導入即可

3.開phpstorm,建項目

4.PDO
php里面用mysql,現在應該使用PDO了。時代是在前進的。不要畏葸不前。
xampp里已經自帶配置好了pdo,寫代碼的時候注意mysql不要拼錯否則報錯說沒有pdo的驅動。

prepare statement的一些要注意的地方
別用bindParam和bindValue參數。都找不到了,而且有bug。用數組吧。

例子1:select語句,選出某些符合條件的結果。條件使用?來處理,條件的具體值使用數組告知:

# 建立數據庫連結,創建PDO對象
$dsn = "mysql:host=localhost;dbname=common_module";
$user = "root";
$pass = "";
$pdo = new PDO($dsn, $user, $pass);

# 編寫SQL語句,進行查詢
$sql = "select * from contacts where user_id>?";
$stmt = $pdo->prepare($sql);
$id_threshold = 4;
$stmt->execute(array($id_threshold));
$result = $stmt->fetchAll();
# 若同一SQL語句有不同的查詢值取值,那么可以再次使用這個stmt

# 輸出查詢結果
print_r("<pre>");
print_r($result);
print_r("<pre>");

相應地,執行insert操作的例子如下:

# 建立數據庫連連接,創建PDO對象
$dsn = "mysql:host=localhost;dbname=common_module";
$user = "root";
$pass = "";
$pdo = new PDO($dsn, $user, $pass);

# 編寫SQL語句,進行查詢
$sql = "insert into contacts (email, name, sex, address, phone) values (?, ?, ?, ?, ?)";
$stmt = $pdo->prepare($sql);
$email = "ss@ss.com";
$name = "keeper";
$sex = 1;
$address = "北京市西城區AB街33號";
$phone="18812345678";
$status = $stmt->execute(array($email, $name, $sex, $address, $phone));

# 處理查詢結果
if($status){ #sql執行成功,則獲取其執行結果并進一步處理
    $result = $stmt->fetchAll();
    # 輸出查詢結果
    print_r("<pre>");
    print_r($result);
    print_r("<pre>");
}else{
    echo "執行出錯!";
}

顯然,上面的select和insert操作都使用了prepare statement的方式,既保證高性能,又保證安全防注入。

5.使用smarty模版
smarty不是唯一的選擇,但是是容易上手的選擇。很多cms系統都使用了和smarty很相似的語法。
使用smarty3,而不是過時的smarty2.直接把demo目錄下所有文件和文件夾和復制到你的項目中,并把libs目錄復制到apache根目錄。
稍微正規一點的話,應該考慮入口文件,對url進行解析后進行請求分發,分配到不同的業務邏輯代碼上。。。但是為了簡單起見,這里就先不使用分發頁面了。。(需要參考thinkphp等框架看看人家是怎么配置的)

$smarty=new Smarty;
$smarty->assign('var_name', 'var_value');
$smarty->display('target_template_page.tpl');

6.使用bootstrap
都什么年代了,前端雖然自己不會寫,但起碼要知道bootstrap的存在要用它。用bootstrap3.

7.一個只有增刪改查模塊的簡陋應用
終于進入正題了,一個只具有增刪改查功能的簡陋應用:增加聯系人,刪除聯系人,修改聯系人,查看聯系人。
是根據《Web開發的平民英雄:php+mysql》上的例子修改而來。原書中使用最簡陋的代碼編寫而成。本代碼改進如下:
使用smarty模版;使用PDO操作數據庫;使用bootstrap美化界面;精簡數據表。

下載鏈接
http://pan.baidu.com/s/1mhLwj1Y


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()