Apache+Nginx的URL地址重寫參考:https://www.cnblogs.com/phpdragon/p/7210472.html
1, ApacheURL地址重寫
.htaccess 文件
RewriteEngine on
#如果不是文件、不是目錄
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#執行RewriteRule規則體
RewriteRule . index.php [L]
2, php+pdo基礎使用
<?php
$pdo = new PDO("mysql:host=localhost;dbname=dm","root","");
/**
PDO::ATTR_EMULATE_PREPARES 啓用或禁用預處理語句的模擬。 有些驅動不支持或有限度地支持本地預處理。使用此設置強制PDO總是模擬預處理語句(如果爲 TRUE ),或試着使用本地預處理語句(如果爲 FALSE)。如果驅動不能成功預處理當前查詢,它將總是回到模擬預處理語句上。 需要 bool 類型。
*/
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
$sql = "update `user` set `userName`=:userName where `id`=:id";
$stmt = $pdo->prepare($sql);
// 參數值不能直接寫到 bindParam
$user = "小明";$id = 1;
// PDO::PARAM_INT,這裏bindParam必須有第三個參數,否則默認爲字符類型,查詢結果爲空
// PDO::PARAM_STR,這裏bindParam不論有沒第三個參數,結果都是空
$stmt->bindParam(':userName',$user,PDO::PARAM_STR,12);
$stmt->bindParam(':id',$id);
$stmt->execute();
/**
PDO::FETCH_ASSOC 關聯數組形式。
PDO::FETCH_NUM 數字索引數組形式。
PDO::FETCH_BOTH 兩者數組形式都有,這是默認的。
PDO::FETCH_OBJ 按照對象的形式,類似於以前的mysql_fetch_object()函數。
PDO::FETCH_BOUND 以布爾值的形式返回結果,同時將獲取的列值賦給bindParam()方法中指
PDO::FETCH_LAZY 以關聯數組、數字索引數組和對象3種形式返回結果。
*/
$user = $stmt->fetch(PDO::FETCH_ASSOC); // 單條
$user = $stmt->fetchAll(PDO::FETCH_ASSOC);// 多條
// $user = $stmt->fetch(); // 關聯數組+索引數組形式
PDO安裝與配置
$dsn = "uri:file://G:\phpdev\apache\htdocs\imooc\pdo\dsn.txt"; $username = "root"; $passwd = ""; $pdo = new PDO($dsn, $username, $passwd);
/**
* PDO安裝與配置
* php.ini
* extension=php_pdo.dll
* extension=php_pdo_mysql.dll
*/
echo phpinfo();
// 通過uri的形式連接數據庫
try {
$dsn = "uri:file://G:\phpdev\apache\htdocs\imooc\pdo\dsn.txt";
$username = "root";
$passwd = "";
$pdo = new PDO($dsn, $username, $passwd);
var_dump($pdo);
} catch (PDOException $e) {
echo $e->getMessage();
}
/**
* pdo
*/
header("Content-type:text/html;charset=utf-8");
try{
$pdo = new PDO("mysql:host=localhost;dbname=immoc","root","");
$sql = "SELECT username,passwd,email FROM users ";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$stmt->bindColumn(1,$username);
$stmt->bindColumn(2,$passwd);
$stmt->bindColumn(3,$email);
while($stmt->fetch(PDO::FETCH_BOUND)){
echo "用戶名:".$username."--密碼:".$passwd."--郵箱:".$email."<hr/>";
}
}catch (PDOException $e) {
echo $e->getMessage();
}