PHP, MySQL transakcje
: 13 czerwca 2017, 14:27
Panowie czy przebywa tutaj ktoś z wiedzą jak w temacie? Próbuję jedną (wydaje mi się, że prostą rzecz) zrobić, a za nic nie chce mi śmigać. Ktoś, coś?
Polski portal użytkowników dystrybucji Debian GNU/Linux, dyskusje, artykuły, nowości, blog, porady, pomoc.
https://www.debian.pl/
Kod: Zaznacz cały
+----+-----------+----------+---------+---------------------+
| id | firstname | lastname | email | reg_date |
+----+-----------+----------+---------+---------------------+
| 1 | WWW | DEF | ABC@DEF | 2017-06-12 16:11:08 |
| 2 | ASD | ZXC | AZX@WER | 2017-06-12 14:15:41 |
+----+-----------+----------+---------+---------------------+
Kod: Zaznacz cały
<?php
function db_connect() {
$dsn = "mysql:host=localhost;dbname=test;charset=utf8";
$opt = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
return new PDO($dsn, 'xxxx', 'xxxx', $opt);
}
$pdo = db_connect();
?>
<form action="" method="POST">
<?php
$sqlA = $pdo->prepare('SELECT * FROM MyGuests');
$sqlA -> execute();
while ($row = $sqlA->fetch()) {
echo "<div>".$row["firstname"]." - ". $row["lastname"] . " - " . $row["email"]." <input type=\"radio\" name=\"selection\" value=\"". $row["id"] ."\" > </div>\n\n";
}
?>
<input type="submit" value="Edit">
</form>
<?php
if (isset($_POST["selection"])) {
$id=$_POST["selection"];
echo "<form action=\"\" method=\"POST\">";
$sqlB = $pdo->prepare('SELECT * FROM MyGuests WHERE id = ? LIMIT 1 FOR UPDATE');
$sqlB -> execute([$id]);
while ($row = $sqlB->fetch()) {
echo "<input name=\"firstname\" size=\"10\" type=\"text\" style=\"border: 2px solid red\" value=\"".$row["firstname"]."\">";
echo "<input type=\"hidden\" name=\"change\" value=\"".$row["id"]."\"> <input type=\"submit\" value=\"OK\"> ";
echo "</form>";
}
}
?>
Kod: Zaznacz cały
BEGIN;
SELECT * FROM MyGuests WHERE id=1 FOR UPDATE;