index.php
<?php
if(get_magic_quotes_gpc()) //关闭php的魔术引号功能。
{
$process = array(&$_GET,&$_POST,&$_COOKIE,&$_REQUEST);
while(list($key,$val) = each($process))
{
foreach($val as $k => $v)
{
unset($process[$key][$k]);
if(is_array($v))
{
$process[$key][stripslashes($k)] = $v;
$process[] = &$process[$key][stripslashes($k)];
}
else
{
$process[$key][stripslashes($k)] = stripslashes($v);
}
}
}
unset($process);
} //关闭php的魔术引号功能。
//建立连接对象
try
{
$pdo = new PDO('mysql:host=localhost;dbname=test','testuser','pass');
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); //setAttribute PDO对象的方法,PDO::表示这些变量是我们所使用的PDO的一部分,不是PHP语言自身内建的变量。想要将控制错误模式的PDO属性(PDO::ATTR_ERRMODE)设置为抛出异常的模式(PDO::ERRMODE_EXCEPTION)。
$pdo->exec('SET NAMES "utf8"'); //配置数据库连接的字符码。
}
catch (PDOException $e)
{
$error = '数据库连接失败!'.$e->getMessage();//从MySql服务器获取一条详细的错误信息
include 'error.html.php';
exit();
}
if (isset($_GET['deletejoke']))
{
try
{
$sql = 'DELETE FROM joke WHERE id = :id';
$s = $pdo->prepare($sql); //将查询发送给mydql服务器,要求他准备好运行该查询。返回一个PDOStarement的对象。
$s->bindValue(':id',$_POST['id']); //发送给他所却的值。
$s->execute(); //调用个PDOStarement的方法来告诉mysql服务器,使用我们提供的值来执行查询
}
catch (PDOException $e)
{
$error = '删除失败: '.$e->getMessage();
include 'error.html.php';
exit();
}
header('Location:.');//PHP header函数提供发送特殊服务器响应的方法,表示一次重定向,(.)为重新加载当前目录。
exit();
}
try
{
$sql = 'SELECT id,joketext FROM joke';
$jieguo = $pdo->query($sql); //query 返回一个PDOStarement的对象,该对象表示一个结果集。
}
catch(PDOException $e)
{
$error = '获取内容失败: '.$e->getMessage();
include 'error.html.php';
exit();
}
while($aaa = $jieguo->fetch()) //while用来处理大量的数据,fetch将数据集中的下一行作为一个数组返回。
{
$jokes[] = array('id' => $aaa['id'],'text' => $aaa['joketext']); //让数组中的每一个相斗成为一个数组。=>一般用于数组的 键=>值 -> 一般用于对象的 对象->对象属性 和 对象->对象方法
}
include 'jokes.html.php';
jokes.html.php
<body>
<?php foreach ($jokes as $joke): ?>
<form action="?deletejoke" method="post">
<blockquote>
<p>
<?php echo htmlspecialchars($joke['text'],ENT_QUOTES,'UTF-8'); ?>
<input name="id" type="hidden" value="<?php echo $joke['id']; ?>" />
<input type="submit" value="删除" />
</p>
</blockquote>
</form>
<?php endforeach; ?>
</body>