MySQL与PDO的连接

Jor*_*Hek -1 php mysql pdo

我有一个用MySQL制作的数据库(通过phpMyAdmin).它有2个"笑话".现在我想编辑笑话并在数据库中更新它们.

在这我使用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;

?>
Run Code Online (Sandbox Code Playgroud)

<?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"; 
?> 
Run Code Online (Sandbox Code Playgroud)

更新

<?php
 try { 
 // de query is set in a string variabele
 $sql = 'UPDATE joke SET jokedate=”2013-04-25” WHERE id = 1'; 
 // next the query wil me executed and rows will change 
 // de method exec will return the rows if they are succesfully executed 
 $aantalrijenaangepast = $pdo?exec($sql); 
 } 
 catch (PDOException $e) { 
 echo "Er is een fout opgetreden bij de update: ".$e?getMessage(); 
 exit(); 
 } 
 echo $aantalrijenaangepast. " rij(en) aangepast"; 
 ?>
Run Code Online (Sandbox Code Playgroud)

在这个脚本中要记住以下几点:

行:$ sql ='UPDATE笑话SET jokedate ="2013-04-25"WHERE id = 1'; 是此行不正确的行,它需要更新信息.

数据库内容设置如下: 数据库内容

要编辑笑话,请确保在网址后面添加2个ID中的1个,以打开带有编辑文本框的窗口(?id = 1)

在此输入图像描述

Ger*_*der 5

你的update.php中有一些花哨的UTF8字符:

应该 "

? 应该 ->

当您从网站复制和粘贴代码时,可能会发生这种情况.