前提
XAMPPでPHPファイルをデバッグしています。
前提として、MySQLのデータベース内にレシピと在庫のテーブルが存在します。
レシピにはレシピの名前、材料、材料の個数の欄があります。
在庫には材料と材料の個数の欄があります。
ユーザが入力したレシピの名前でレシピテーブルから材料の個数を抽出します。
抽出した材料の個数が、在庫テーブル内の材料の個数と一致(またはレシピ以上の材料の個数が在庫テーブルにあれば)、在庫テーブルからレシピの材料の個数を削除し,要素を更新します。
実現したいこと
PHPでMySQLから抽出した要素を使用した演算を行いたいです。
発生している問題・エラーメッセージ
Uncaught Error: Object of class mysqli_result could not be converted to string
該当のソースコード
php
1<?php 2session_start(); 3 4$host = $_SESSION["host"]; 5$user = $_SESSION["user"]; 6$pass = $_SESSION["password"]; 7$db = $_SESSION["dbName"]; 8 9$conn = new mysqli($host, $user, $pass, $db); 10 11if( $mysqli->connect_errno ) { 12 echo $mysqli->connect_errno . ' : ' . $mysqli->connect_error; 13} 14 15 16$stmt = $conn->prepare("SELECT 量 FROM レシピ WHERE レシピの名前 = '$レシピ'"); 17$stmt->execute(); 18$result1 = $stmt->get_result(); 19 20$stmt = $conn->prepare("SELECT 材料 FROM レシピ WHERE レシピの名前 = '$レシピ'"); 21$stmt->execute(); 22$result2 = $stmt->get_result(); 23 24 25$stmt = $conn->prepare("SELECT 量 FROM 在庫 WHERE 素材 = '結果'"); 26$stmt->execute(); 27$result3 = $stmt->get_result(); 28 29if($result1 <= $result3){ 30 $ans = $result3 - $result1; 31 $sql = "UPDATE 在庫 SET 32 量=$ans"; 33 if ($conn->query($sql) === TRUE) { 34 echo "更新できました"; 35 } 36}else{ 37 echo"十分な在庫がありません"; 38} 39 40$conn->close(); 41 42?>
不明点
SELECT文を使用して材用の個数を抽出したり、UPDATEでテーブルの情報を更新する方法は理解しているのですが、抽出した要素を変数に代入して計算する方法がわかりません。
補足情報(FW/ツールのバージョンなど)
mysqliを使用したオブジェクト指向で実装を行っています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/29 08:08
2021/11/29 10:11 編集
2021/11/29 17:09