나는 최근에 장바구니 클래스와 그 저장소 (함수)를 코딩하기 시작했고 INSERT INTO 문 내부의 SELECT 문에 문제가 있었고이 코드를 실행하려고 할 때 문제가 발생했습니다. 실행되었지만 "SELECT 문은 항상 0을 반환합니다. 데이터베이스 "는 productPrice가 해당 값과 함께 데이터베이스에 존재 함을 알 렸습니다.
코드:
class ShoppingCartRepo
{
public function addToCart($productId, $cartId)
{
$dbh = mySqlDatabase::getConnectionObject();
$sql = "INSERT INTO cartitem (productId, cartId, singlePrice, quantity)
VALUES (:productId, :cartId, 'SELECT productPrice FROM products WHERE productId = :productId', 1)";
$stmt = $dbh->prepare($sql);
$data = array(
':productId' => $productId,
':cartId' => $cartId,
);
$stmt->execute($data);
return $dbh->lastInsertId();
}
}
따옴표를 사용하지 마십시오. 원하는 것을 하위 쿼리라고합니다.
$sql = "INSERT INTO cartitem (productId, cartId, singlePrice, quantity)
VALUES (:productId, :cartId, (SELECT productPrice FROM products WHERE productId = :productId), 1)";
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다