PHPでSQL内容をWEBブラウザに表示したいです
解決したいこと
HTMLのFormタッグで作ったFormにデータを入力して、
もしSQLに値があれば、指定された1レコード分の資料をWEBブラウザに反映して欲しいです。
自分で試したこと
1-INSERT文でデータをデータベースに入力することは問題ないです。
2-SELECT文でデータを""全部""WEBブラウザに表示するのは問題ないです。
➡しかし、WHERE文を足したら、ERRORが出てきました。なんかWHERE文後ろに付けている値が取得できなさそうです。
3-もともと下記LINKの内容を真似して作りましたが、ERRORが出てきました...
https://www.sejuku.net/blog/104455
発生している問題・エラー
Warning: Undefined array key "id" in C:\xampp\htdocs\...\search.php on line 3
Warning: Undefined array key "user_name" in C:\xampp\htdocs\...\search.php on line 4
該当するソースコード
//➡このファイルは<form.php>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="search.php" method="post" enctype="multipart/form-data">
ID:<input type="text" name="id2"><br>
<input type="submit" value="検索">
</form>
<?php include('./search.php') ?>
<table>
<tr>
<th>ID</th>
<th>User Name</th>
</tr>
<?php foreach ($data2 as $row) { ?>
<tr>
<td><?php echo $row['ID']; ?></td>
<td><?php echo $row['member_name']?></td>
</tr>
<?php }?>
</table>
</body>
</html>
該当するソースコード
//➡このファイルは<search.php>
<?php
$id2 = $_POST['id2'];
$user_name2 = $_POST['user_name'];
$dbName = "mysql:host=localhost;dbname=test;charset=utf8";
$userName = "root";
try{
$db = new PDO($dbName, $userName);
} catch (\Throwable $th){
exit();
}
$sql2 = "SELECT * FROM user_list where ID=".$id2;
$sth2 = $db -> prepare($sql2);
$sth2 -> execute();
$data2 = $sth2->fetchall();
return $data2;
0 likes