質問
- サーバー接続エラー
-
本文:
mysqlのDB接続で以下のように設定したところ
<?php
// 定数定義
$dsn = 'mysql:host=starサーバのサーバー管理ツールのサーバー情報のホスト名;dbname=データベース設定のデータベース名;charset=utf8mb4';
$db_user = 'データベース設定のMySQLユーザ名';
$db_password = 'MySQLユーザ名のパスワード名';
// DB接続
try {
$pdo = new PDO($dsn, $db_user, $db_password,);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
header('Location: error.html');
}
//('Content-Type: text/plain; charset=UTF-8', true, 500);
//('DB接続に失敗しました' . '<br>' . PHP_EOL . $e->getMessage());
404 File Not Fo
アクセスしようとしたページは
見つかりませんでした。
とエラーと吐きます。
- 緊急度:緊急投稿者:tomo0721さん投稿時間:2023/02/17 10:40
回答 No.12242
-
本文:
>>
ネットオウルのQ&A掲示板は、ユーザー同士で質問・回答を行うものであり、サポートより回答を差し上げるものではありません。
<<
回答にはならないんですけど
『ウェブクロウ』サービス終了のお知らせ
https://www.netowl.jp/news_detail.php?view_id=2886
>【2022年9月30日(金) 正午】サービスを終了いたします。
既に終了していて誰も使えないサービス名のカテゴリーで投稿しても第三者にはどのサーバー機能を使っているのかがわかりません。
スターサーバーフリーとスタードメイン無料サーバーと有料のサーバーでは使える機能などが異なります。 - 投稿者:kashaさん 投稿時間:2023/02/17 18:49
回答 No.12279
-
本文:
平素はネットオウルをご利用いただき誠にありがとうございます。
ネットオウル運営チームです。
本ご質問は一定期間新たな回答がなかったため
運営チームで締め切らせていただきました。
■質問の締め切りについて
Q&A掲示板はユーザー様同士の交流掲示板です。
回答がもらえた場合、回答者へお礼コメントをしましょう。
問題が解決した際にはベストアンサーを選び、
質問を締め切ってください。
■再度のご質問について
ご質問が未解決の場合、「ワンポイント!」を参考に、
再度質問してみてください。
【ワンポイント!】
メールやFTPの設定がうまくいかない場合、
ネットオウルIDやサーバーIDなどのお客様情報を公開しない範囲で、
現在の設定内容を出来るだけ詳しく書いてみましょう。
設定内容のミスを指摘してもらえるかもしれません。
エラーが出てうまくいかない場合、
エラーメッセージの内容を書いてみましょう。
エラーメッセージにはエラー原因が詳しく書かれていることが多く、
問題の解決につながる回答が得られるかもしれません。
■ベストアンサーについて
ご質問の締め切りに際して、運営チームにて
ベストアンサーを選んでおります。
※ベストアンサーの回答者様には通常と同様のポイントが
付与されています。
--ネットオウル運営チーム--
- 投稿者:ネットオウル運営 投稿時間:2023/03/08 10:55
回答 No.12243
この回答がベストアンサーです
try {
ここで、エラーが起こる
} catch (PDOException $e) {
エラーが起こったら、ここが実行される
}
単純かしてかくと上記のようになります。
$pdo = new PDO($dsn, $db_user, $db_password,);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
のどちらかでエラーになったので、
header('Location: error.html');
が実行されます。
Locationはリダイレクトなので、「error.html」を表示しようとします。
error.htmlは、おそらく存在しません。
だから、「404 Not Found」 になります
404 Not Foundは、error.htmlというファイルが存在しません、error.htmlというURL存在しませんです
■
try {
$pdo = new PDO($dsn, $db_user, $db_password,);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
catch 部分を上記のように書いて、PDOの何のエラーが出てるのかを
わかるようにしたほうがマシでは?!