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();
4

3 に答える 3

1

クエリ結果を出力していません。クエリ自体を出力しようとしているようです。

ただし、mysqli_statement$insertanswerのインスタンスです。このクラスは、クエリへのアクセスを提供していないようです。

そのため、文字列として出力することはできません。文字列ではありません。

于 2012-10-10T00:06:17.747 に答える
0

文字列を使用して型キャストを試みることができます。たとえば、$ answersql = "INSERT INTO Answer((string)Answer))VALUES(?)"のように、結果の変換を保持する変数を宣言します。または、割り当てられた変数を次のように型キャストすることもできます。(string)$ answersql = "INSERT INTO Answer(Answer)VALUES(?)"; 結果が必要な方法や場所によって異なります。

于 2012-10-10T00:08:54.897 に答える
0

カップルアイテム。バインディングでは、最初に $_POST を変数に割り当てます。そこにカウンターがあるのはわかりますが、どこで何を繰り返しているのかわかりません。$_POST['value'] をスケール変数に割り当てることができると仮定します。

 $input = $_POST['value'];

次に、INSERT は true または false と、db テーブル列に auto_increment 属性を設定した場合は ID を返します。もしそうなら、あなたはそれから使用することができます

 $insertid = $insertanswer->insert_id;

ただし、ステートメントを記述した方法では、値は返されません。true または false と id (auto_increment 属性が設定されている場合) のみ。

于 2012-10-10T00:19:58.270 に答える