2012-10-09 7 views
1

페이지의 텍스트로 쿼리 결과를 출력하여 모양을 볼 수 있습니다. 문제는 내가 아래에서했던 것처럼 에코를 사용하거나 인쇄물을 사용하는 경우 오류가 발생한다는 것입니다.개체를 문자열로 변환 할 수 없습니다.

내가 수신하고 오류가

내 질문이 페이지에 출력 쿼리 결과에 가장 좋은 방법은 무엇인가하는 문자열로 개체를 변환 할 수 없다는 대해 뭔가?

$answersql = "INSERT INTO Answer (Answer) 
    VALUES (?)"; 

     if (!$insertanswer = $mysqli->prepare($answersql)) { 
     // Handle errors with prepare operation here 
    } 

    $insertanswer->bind_param("s", $_POST['value'][$i]); 

     //$insertanswer->execute(); 

     echo $insertanswer; 

     if ($insertanswer->errno) { 
      // Handle query error here 
     } 

     $insertanswer->close(); 
+0

결과를 출력하려고하지 않으면 pdo 객체를 에코하려고합니다. 이걸 정확히 원했던거야? –

+0

다음은 PDO 안내서입니다. 위의 쿼리가 삽입이기 때문에 영향을받은 행이나 무언가를 확인하는 방법을 찾고있을 수 있습니다. http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html –

+0

PDO는 훌륭하지만 그는 [MySQL-Improved driver] (http://php.net/manual/en/)를 사용하고 있습니다. book.mysqli.php), PDO가 아닙니다. –

답변

1

쿼리 결과를 출력되지 않습니다 아래

는 코드입니다. 쿼리 자체를 출력하려고 시도하는 것 같습니다.

그러나 $insertanswermysqli_statement의 인스턴스입니다. 이 클래스는 쿼리에 대한 액세스 권한을 제공하지 않습니다.

그래서 문자열로 인쇄 할 수 없습니다. 그것은 문자열이 아닙니다.

0

문자열을 사용하여 캐스트하려고 시도 할 수 있습니다. 예를 들어, $ answersql = "INSERT INTO Answer ((string) Answer) VALUES (?)"와 같이 변환 결과를 저장할 변수를 선언합니다. "; 또는 할당 된 변수를 다음과 같이 입력하십시오. (string) $ answersql = "INSERT INTO Answer (Answer) VALUES (?)"; 은 결과가 필요한 위치 또는 방법에 따라 다릅니다.

0

몇 가지 항목. 바인딩시 $ _POST를 먼저 변수에 할당해야합니다. 카운터가 있지만 카운터를 반복하는 위치를 보지 못합니다. $ _POST [ 'value']를 스케일 변수에 할당 할 수 있다고 가정합니다. 당신이 당신의 DB 테이블 열에 대한 AUTO_INCREMENT 속성을 설정 한 경우

$input = $_POST['value']; 

그런 다음 INSERT는 참 또는 거짓과 ID를 반환합니다. 그렇다면 사용할 수 있습니다.

$insertid = $insertanswer->insert_id; 

그러나 설명문을 작성한 방식으로 값을 반환하지는 않습니다. true 또는 false 및 id (auto_increment 속성이 설정된 경우).

관련 문제