前提・実現したいこと
いいねボタンの勉強をしています。一度いいねがされているならできないようにしたいです。そこでデータベース上に既にデータがある場合ngを出力し、データがない場合、okを出力したいです。
発生している問題・エラーメッセージ
データがない場合でも、ngがでてしまう。var_dump($result)の中身がbool(false)になっているのに、
! resultのほうにすすんでくれない。
alertした結果
bool(false) ng
該当のソースコード
ajaxの通信先
1try { 2 $db = dbConnect(); 3 $sql= "SELECT * FROM favorites where product_id = :product_id AND user_id = :user_id"; 4 $stmt = $db->prepare($sql); 5 $stmt->bindParam(':product_id', $product_id, PDO::PARAM_INT); 6 $stmt->bindParam(':user_id', $user_id, PDO::PARAM_INT); 7 $stmt->execute(); 8 $result = $stmt->fetch(PDO::FETCH_ASSOC); 9 var_dump($result); 10 if(isset($result)){ 11 echo "ng"; 12 } 13 elseif (! $result) { 14 $sql = "INSERT INTO favorites(id, user_id, product_id, value)VALUES(NULL, :user_id, :product_id, :value)"; 15 $stmt = $db->prepare($sql); 16 $stmt->bindParam(':user_id', $user_id, PDO::PARAM_INT); 17 $stmt->bindParam(':product_id', $product_id, PDO::PARAM_INT); 18 $stmt->bindParam(':value', $value, PDO::PARAM_INT); 19 $stmt->execute(); 20echo "ok"; 21 } 22} catch (PDOException $e) { 23 echo "接続失敗:" .$e->getMessage(). "\n"; 24 }finally { 25 $db = null; 26 }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/26 07:37
2020/03/26 07:46 編集
2020/03/26 07:44