□やりたいこと
ec_cartテーブルから、WHEREにあったデータを全てSELECTで取りたい。
□起こっている問題
データが取れず。var_dumpで確かめるとarray(0)で返り値が表示される。
session_start(); $user_id = $_SESSION['user_id']; var_dump($user_id); $sql = 'SELECT * FROM ec_cart WHERE user_id = ? ;'; $stmt = $dbh->prepare($sql); $stmt->bindValue(1,$user_id, PDO::PARAM_INT); $stmt->execute(); $rows = $stmt->fetchAll(); foreach($rows as $row){ $data[] = $row; } var_dump($data);
1つ目のvar_dump($user_id)の結果、
array(1) { [0]=> array(2) { ["id"]=> int(1) [0]=> int(1) } }
と表示される。
この結果から$user_idには1が代入されていると考えています。
2つ目のvar_dump($data)の結果は
array(0) { }
と表示され、データを1つも取れていないことになっています。
しかしec_cartテーブルには、user_id = 1の情報が2つ入っています。
この2つの情報をとってくるにあたりどこが間違っているのかを教えていただきたいです。
またWHERE句を除くと、データは取ってこれるですが、全てのデータをとってきているので、最終的につくりたい形とは異なります。
よろしくお願いします。
追記
WHERE句を、WHERE = 1 と直書きすると正常に動きます。
なのでsql文自体は問題なく、その後のbingvalueのところが問題なのかとも思うのですが、アドバイスをお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/13 06:39