2012-10-09 60 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改進的驅動程序](http://php.net/manual/en/) book.mysqli.php),而不是PDO。 –

回答

1

你是不是輸出查詢結果。看起來你正在嘗試輸出查詢本身。

但是,$insertanswermysqli_statement的實例。該類似乎不提供對查詢的訪問。

這就是爲什麼你不能以字符串打印它的原因。它不是一個字符串。

0

您可以嘗試使用字符串進行類型轉換。例如你聲明一個變量來保存結果轉換,例如$ answersql =「INSERT INTO Answer((string)Answer)) VALUES(?)」; 或者你可以鍵入轉換賦值變量: (字符串)$ answersql =「INSERT INTO Answer(Answer) VALUES(?)」;取決於你如何或在哪裏需要你的結果。

0

情侶項目。在你的綁定上,你首先需要將$ _POST分配給一個變量。我看到你有一個櫃檯,但沒有看到你在哪裏迭代任何事情。我假設你可以將$ _POST ['value']賦給一個scale變量。

$input = $_POST['value']; 

然後,如果你有你的數據庫表列中設置一個auto_increment屬性INSERT返回true或false和ID。如果是這樣,那麼你可以使用

$insertid = $insertanswer->insert_id; 

然而,你有寫入語句的方式,它不會返回任何值。只是true或false以及一個id(如果設置了auto_increment屬性)。