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的魔术引号功能。 if (isset($_GET['addjoke'])) { include 'form.html.php'; exit(); } //建立连接对象 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($_POST['joketext'])) { try { $sql = 'INSERT INTO joke SET joketext = :joketext, jokedate = CURDATE()'; //CURDATE()返回当前日期为'YYYY-MM-DD“或YYYYMMDD格式的值 $s = $pdo->prepare($sql); //将查询发送给mydql服务器,要求他准备好运行该查询。返回一个PDOStarement的对象。 $s->bindValue(':joketext',$_POST['joketext']); //发送给他所却的值。 $s->execute(); //调用个PDOStarement的方法来告诉mysql服务器,使用我们提供的值来执行查询 } catch (PDOException $e) { $e->getMessage(); include 'error.html.php'; exit(); } header('Location:.');//PHP header函数提供发送特殊服务器响应的方法,表示一次重定向,(.)为重新加载当前目录。 exit(); } try { $sql = 'SELECT * 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[] = $aaa['joketext']; //将每个值存储为数组$jokes中的一个相 } include 'joke.html.php'; ?>
form.html.php
<title>add-form</title> <style type="text/css"> textarea { display:block; /*是让对象成为块级元素(比如a,span等)*/ width:100%; /*段落的宽度*/ } </style> </head> <body> <form id="form1" name="form1" method="post" action="?"> <!--在提交表单时可以从URL红将查询字符串分离出来--> <div><label>添加新的内容:</label></div> <div><textarea cols="40" rows="3" id="joketext" name="joketext"></textarea></div> <div><input name="" type="submit" value="添加"/> </div> </form> </body> </html>
joke.html.php
<body> <table width="200" border="1"> <tr> <th scope="col">笑话详情</th> </tr> <?php foreach ($jokes as $joke): ?> <?php echo '<tr><td>'.htmlspecialchars($joke,ENT_QUOTES,'UTF-8').'</td></tr>'; ?> <?php endforeach; ?> </table> <div class="aa"><a href="?addjoke">添加</a></div> </body>
exec与execute的区别,对象不同,exec是对象PDO的方法,execute是PDOStarement的方法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。