
批改狀態(tài):合格
老師批語:完成的非常認(rèn)真
代碼示例:
<?php
define('DB_HOST','localhost');//主機(jī)名
define('DB_USER','root');//鏈接數(shù)據(jù)庫用戶名
define('DB_PWD','142536');//鏈接數(shù)據(jù)庫密碼
define('DB_NAME','mysqli');//數(shù)據(jù)庫名稱
define('DB_PORT','3306');//數(shù)據(jù)庫端口
define('DB_TYPE','mysql');//數(shù)據(jù)庫型號(hào)
define('DB_CHARSET','utf8');//數(shù)據(jù)庫編碼方式
define('DB_DSN',DB_TYPE.":host=".DB_HOST.";dbname=".DB_NAME.";charset=".DB_CHARSET);
//定義PDO的DSN,數(shù)據(jù)源名,包括主機(jī)名,端口號(hào)和數(shù)據(jù)庫名稱
$dsn='mysql:host=localhost;dbname=mysqli';
//PDO驅(qū)動(dòng)程序的名稱,后面為一個(gè)冒號(hào),再后面是可選的驅(qū)動(dòng)程序鏈接數(shù)據(jù)庫變量信息,如主機(jī)名,端口和數(shù)據(jù)名
try
{
$pdo =new PDO(DB_DSN,DB_USER,DB_PWD);
}
catch(PDOException $e)
{
echo $e->getMessage();
//捕捉特定于數(shù)據(jù)庫信息的PDOException 異常
}
catch(Throwable $e)
{
echo $e->getMessage();
//捕捉擁有Throwable 接口的錯(cuò)誤或者其他異常
}
使用require調(diào)用config.php使用。
代碼示例:
<?php
header('Content-type:text/html;charset=utf-8');
$db ='mysql'; //數(shù)據(jù)庫的類型
$host = 'localhost'; //數(shù)據(jù)庫地址
$dbname = 'mysqli'; //數(shù)據(jù)庫名稱
$charset = 'utf8'; //數(shù)據(jù)庫字符集
$user_name= 'root'; //數(shù)據(jù)源用戶名
$pass_word = '142536';//數(shù)據(jù)庫密碼
$dsn ="$db:host=$host;dbname=$dbname;charset=$charset";
//數(shù)據(jù)庫驅(qū)動(dòng)名稱
try
{
$pdo = new PDO($dsn,$user_name,$pass_word);
}catch(PDOException $e)
{
die("錯(cuò)誤:".$e->getMessage()."<br>");
}
代碼示例:
// PDO數(shù)據(jù)庫的增加
$password = md5(142536);
$sql = "INSERT INTO user(`username`,`password`,`sex`,`age`,`email`,`mobile`) VALUES('白骨精','$password','女',85,'bgj@126.com','18954872145')";
$res = $pdo->exec($sql);
if($res){
echo "添加成功了".$res."條數(shù)據(jù)";
}
else
{
echo "添加錯(cuò)誤:".$pdo->errorCode();
}
echo "<hr>";
// PDO 數(shù)據(jù)庫刪除
$sql = "DELETE FROM `user` WHERE `username`='白骨精'";
$res = $pdo->exec($sql);
if($res)
{
echo "刪除成功了".$res."條數(shù)據(jù)";
}
else
{
echo "刪除錯(cuò)誤:".$pdo->errorCode();
}
echo "<hr>";
//PDO 數(shù)據(jù)庫修改
$sql ="UPDATE `user` SET `age`=89,`mobile`='13555555555' WHERE `username`='唐三藏'";
$res = $pdo->exec($sql);
if($res)
{
echo "成功更新了".$res."條數(shù)據(jù)";
}
else
{
echo "更新失敗:".$pdo->errorCode();
}
echo "<hr>";
//bindParam 防SQL注入
$sql ="SELECT * FROM `user` WHERE `username`=? AND `password`=?";
$stmt= $pdo->prepare($sql);
$username ='唐三藏';
$password = md5(142536);
$stmt->bindParam(1,$username);
$stmt->bindParam(2,$password);
//PDOStatement::bindParam 綁定一個(gè)參數(shù)到知道的變量名
//PDOStatement::bindValue 綁定一個(gè)值到一個(gè)參數(shù)
$stmt->execute();
//rowCount返回受上一個(gè)SQL語句影響的行
$res = $stmt->rowCount();
if($res)
{
echo $username."登錄成功";
}
else{
echo "登錄失敗";
}
echo "<hr>";
//bindValue 防SQL注入
$sql ="SELECT * FROM `user` WHERE `username`=? AND `password`=?";
$stmt= $pdo->prepare($sql);
$stmt->bindValue(1,'唐三藏');
$stmt->bindValue(2,$password= md5(142536));
$stmt->execute();
$res = $stmt->rowCount();
if($res)
{
echo "登錄成功!";
}
else
{
echo "登錄失?。?.$pdo->errorCode();
}
echo "<hr>";
//數(shù)據(jù)庫查詢
$sql ="SELECT * FROM `user` ORDER BY `id` ";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
$table=<<<EOF
<h2 align="center">用戶信息</h2>
<table border="1" align="center">
<tr align="center">
<td>id</td>
<td>姓名</td>
<td>密碼</td>
<td>性別</td>
<td>年齡</td>
<td>郵箱</td>
<td>手機(jī)</td>
</tr>
<tr>
EOF;
if($res)
{
echo $table;
foreach($res as $key )
{
foreach($key as $value)
{
echo "<td>".$value."</td>";
}
echo "</tr>";
}
echo "</table>";
}
else
{
echo "查詢失敗:".$pdo->errorCode();
}
示例圖
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)