HerokuにMySQLをデータベースに採用してプロジェクトをデプロイしようとしています。https://qiita.com/kata_kata_1997/items/973fc1f31795ebf6fcfa
↑のサイトを見てやっていましたが、疑問点・懸念点があったため質問させていただきます。
ローカルであるphpファイルには
$user = "秘匿"; $pass = "秘匿"; $recipe_name = $_POST['recipe_name']; $howto = $_POST['howto']; $category = (int) $_POST['category']; $difficulty = (int) $_POST['difficulty']; $budget = (int) $_POST['budget']; try{ $dbh = new PDO('mysql:host=localhost;dbname=db1;charset=utf8', $user,$pass); $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES,false); $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $sql = "INSERT INTO recipes(recipe_name,category,difficulty,budget,howto) VALUES (?, ?, ?, ?, ?)"; $stmt = $dbh->prepare($sql); $stmt->bindValue(1, $recipe_name, PDO::PARAM_STR); $stmt->bindValue(2, $category, PDO::PARAM_INT); $stmt->bindValue(3, $difficulty, PDO::PARAM_INT); $stmt->bindValue(4, $budget, PDO::PARAM_INT); $stmt->bindValue(5, $howto, PDO::PARAM_STR); $stmt->execute(); $dbh = null; echo "レシピの登録が完了しました。<br>"; echo "<a href='index.php'>トップページへ戻る</a>"; } catch (Exception $e) { echo "エラー発生:" . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8') . "<br>"; die(); }
このようにデータベース接続のために当たり前ですが書いています。
今回デプロイするのはローカルではなく、Herokuですので、
$user = $pass =
と
$dbh = new PDO('mysql:host=localhost;dbname=db1
このhost=
dbname=
を
heroku config | grep CLEARDB_DATABASE_URL CLEARDB_DATABASE_URL: mysql://******:******@us-cdbr-east-02.cleardb.com/heroku_dff14ec3ad68e70?reconnect=true //↓下記のデータが入ってる認識 CLEARDB_DATABASE_URL: mysql://ユーザー名:パスワード@ホスト名/データベース名?reconnect=true
この時に出てきたHeroku用のユーザー名、パスワード、データベース名、ホスト名を記入しなければならないという認識であっていますでしょうか?
記事には
function dbConnect() { $dsn = 'mysql:dbname=DB名;host=ホスト名;charset=utf8'; $user = 'ユーザー名'; $password = 'パスワード'; $option = array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true, ); $dbh = new PDO($dsn, $user, $password, $option); return $dbh; }
このように書かれていたので、自分のPHPのデータベース接続のコードが少し異なっていたので不安になりました。
それと少し逸れるのですが、composerがインストールされていないとデプロイが出来ないと紹介されています。自分のプロジェクトRECIPESはC:\xampp\htdocs\Recipes
このようなディレクトリにあり、そのディレクトリで ```ここに言語を入力
composer -v
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/20 12:36
2021/06/20 12:44
2021/06/23 06:15
2021/06/23 06:39
2021/06/23 07:19 編集
2021/06/23 07:29
2021/06/24 11:20