Php MySQL与PDO的连接
我有一个MySQL数据库(通过phpMyAdmin)。它有两个“笑话”。现在我想编辑笑话并在数据库中更新它们 在本文中,我使用3个php脚本: 脚本:edit.php(在这里我们可以更改笑话) 脚本:connect.php(这将连接到数据库) 脚本:update.php(需要设置刚刚在数据库中所做的更改) 到目前为止的脚本: 编辑Php MySQL与PDO的连接,php,mysql,pdo,Php,Mysql,Pdo,我有一个MySQL数据库(通过phpMyAdmin)。它有两个“笑话”。现在我想编辑笑话并在数据库中更新它们 在本文中,我使用3个php脚本: 脚本:edit.php(在这里我们可以更改笑话) 脚本:connect.php(这将连接到数据库) 脚本:update.php(需要设置刚刚在数据库中所做的更改) 到目前为止的脚本: 编辑 <?php include ("connect.php"); if (!isset($_GET['id'])) { die('no id'); }
<?php
include ("connect.php");
if (!isset($_GET['id'])) {
die('no id');
}
try
{
$sql = 'SELECT * FROM joke WHERE id = :id';
$stmt = $pdo->prepare($sql);
//koppelen van parameters in de query string
$stmt->bindValue(':id', intval($_GET['id']), PDO::PARAM_STR);
$stmt->execute();
}
catch (PDOException $e) {
die('Er is een probleem met het ophalen van joke: ' . $e->getMessage());
}
//ophalen van de gevonden rij
if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$id = $row['id'];
$joketext = $row['joketext'];
$jokeclou = $row['jokeclou'];
}
else {
die('no row found');
}
echo <<<HTML
<form action="update.php" method="post">
<input type="hidden" name="id" value="{$id}">
<h1>Joke database</h1>
<p>
<textarea name="joketext" placeholder="vertel je grap">$joketext</textarea>
</p>
<p>
<textarea name="jokeclou" placeholder="wat is de clou ?">$jokeclou</textarea>
</p>
<input type="submit" name="Verzenden">
</form>
HTML;
?>
<?php
try {
$pdo = new PDO('mysql:host=127.0.0.1;dbname=ijdb', 'root', '');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec('SET NAMES "utf8"');
}
catch (PDOException $e)
{
echo 'Er is geen connectie mogelijk met de MySQL database. '.$e->getMessage();
exit;
}
echo "Een database connectie is succesvol opgezet";
?>
连接
<?php
include ("connect.php");
if (!isset($_GET['id'])) {
die('no id');
}
try
{
$sql = 'SELECT * FROM joke WHERE id = :id';
$stmt = $pdo->prepare($sql);
//koppelen van parameters in de query string
$stmt->bindValue(':id', intval($_GET['id']), PDO::PARAM_STR);
$stmt->execute();
}
catch (PDOException $e) {
die('Er is een probleem met het ophalen van joke: ' . $e->getMessage());
}
//ophalen van de gevonden rij
if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$id = $row['id'];
$joketext = $row['joketext'];
$jokeclou = $row['jokeclou'];
}
else {
die('no row found');
}
echo <<<HTML
<form action="update.php" method="post">
<input type="hidden" name="id" value="{$id}">
<h1>Joke database</h1>
<p>
<textarea name="joketext" placeholder="vertel je grap">$joketext</textarea>
</p>
<p>
<textarea name="jokeclou" placeholder="wat is de clou ?">$jokeclou</textarea>
</p>
<input type="submit" name="Verzenden">
</form>
HTML;
?>
<?php
try {
$pdo = new PDO('mysql:host=127.0.0.1;dbname=ijdb', 'root', '');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec('SET NAMES "utf8"');
}
catch (PDOException $e)
{
echo 'Er is geen connectie mogelijk met de MySQL database. '.$e->getMessage();
exit;
}
echo "Een database connectie is succesvol opgezet";
?>
在update.php中有一些奇特的UTF8字符:
“
应该是”
→代码>应该是->
当你从网站复制和粘贴代码时,可能会发生这种情况。你的实际问题是什么?phpmyadmin不是一个数据库!它只是MySQL的GUI。MySQL是你的数据库!我在读这篇文章时认为OP会告诉我2个jocks。顺便说一句,正如@deceze所说的。phpmyadmin只是一个与MySQL数据库交互的GUI。这就是复制/粘贴时发生的情况来自未正确编码文本的网站的代码。@RPM这不是编码问题。当网站的CMS“预处理”显示的源代码时,会发生这种情况。