Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL与PDO的连接_Php_Mysql_Pdo - Fatal编程技术网

Php MySQL与PDO的连接

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'); }

我有一个MySQL数据库(通过phpMyAdmin)。它有两个“笑话”。现在我想编辑笑话并在数据库中更新它们

在本文中,我使用3个php脚本:

脚本:edit.php(在这里我们可以更改笑话)

脚本:connect.php(这将连接到数据库)

脚本:update.php(需要设置刚刚在数据库中所做的更改)

到目前为止的脚本:

编辑

<?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“预处理”显示的源代码时,会发生这种情况。