찾다

 >  Q&A  >  본문

PDO IN() 배열 문 및 자리 표시자

PDO와 IN() 문을 함께 사용하는 데 좋은 SO에서 이 코드를 찾았습니다.

으아아아

그러나 다음과 같이 쿼리에 다른 항목을 혼합하려면 어떻게 해야 합니까?

으아아아

이것이 효과가 있을 것이라고 생각했지만 결과는 다음과 같습니다.

경고: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: 잘못된 인수 수: 바인드 변수 수가 라인 3($stm 라인)의 태그 수와 일치하지 않습니다.

예상대로 작동하게 만드는 방법이 있나요?

Update배열로 실행했지만 여전히 작동하지 않습니다..

P粉832490510P粉832490510406일 전650

모든 응답(2)나는 대답할 것이다

  • P粉216807924

    P粉2168079242023-10-24 17:57:03

    여기서 문제는 execute단일 배열이 필요하다는 것입니다. 여러 배열을 전달할 수 없으며 더 나쁜 것은 배열을 중첩할 수 없다는 것입니다.

    이미 완벽한

    배열이 있으므로 자리 표시자 문자열을 만든 후 다시 사용하겠습니다. $values 으아아아

    회신하다
    0
  • P粉501007768

    P粉5010077682023-10-24 09:30:01

    솔루션

    $values이 배열인 경우 다음과 같이 작동합니다.

    으아악

    지침

    execute() 需要提供一个参数(在本例中是一个数组)。通过添加 array_merge($values, array($product)),您可以创建一个数组,并在末尾添加 $product 쿼리가 제대로 작동할 것입니다.

    여기에서 데모 보기: http://ideone.com/RcClX

    회신하다
    0
  • 취소회신하다