2023/1/15
teratailでやれ
掲示板を作るにあたって、ログインページと新規登録ページを作ろうとしています。 mySQLを使ったPHPMyAdminでsampleというデータベースを作成し、その中にidとusernameとpasswordというカラムを持ったusersデーブルを用意しています。 しかし、signin.phpページから名前とパスワードを入力して「新規登録」ボタンを押すと、以下のようなエラーが出ます。 SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known ちなみにapachのポート番号は8888でmySQLのポート番号は8889です。 index.php 1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>サンプル掲示板</title> 8</head> 9<body> 10 <h1>ログイン画面</h1> 11 <form action="" method="POST"> 12 ユーザー名<input type="text" name="username" value=""><br> 13 パスワード<input type="password" name="username" value=""><br> 14 <input type="submit" name="login" value="ログイン"> 15 </form> 16 <a href="signin.php">新規登録</a> 17</body> 18</html> signin.php <?php if(isset($_POST['signin'])){ $username = $_POST['username']; $password = $_POST['password']; try { $db = new PDO('mysql:host=localhost8889;dbname=sample', 'root', 'root'); $sql = 'insert into users(username, password) values(?, ?)'; $stmt = $db->prepare($sql); $stmt->execute(array($username, $password)); $stmt = null; $db = null; }catch(PDOException $e){ echo $e->getMessage(); exit; } } ?> <!DOCTYPE html> <html lang="ja"> <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>新規登録画面</title> </head> <body> <h1>新規登録画面</h1> <form action="" method="POST"> ユーザー名<input type="text" name="username" value=""><br> パスワード<input type="password" name="password" value=""><br> <input type="submit" name="signin" value="新規登録"> </form> </body> </html> このエラーが出る原因わかりますか?