无法将对象转换为字符串

时间:2012-10-09 23:53:55

标签: php

我想在页面上以文本形式输出查询结果,这样我就能看到它的样子。问题是,如果我像下面所做的那样使用回声,甚至使用打印,我会收到错误。

我收到的错误是无法将对象转换为字符串

我的问题是在页面上输出查询结果的最佳方法是什么?

以下是代码:

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

3 个答案:

答案 0 :(得分:1)

您没有输出查询结果。您似乎正在尝试输出查询本身。

但是,$insertanswermysqli_statement的一个实例。此类似乎不提供对查询的访问权。

这就是为什么你不能把它打印成字符串。它不是一个字符串。

答案 1 :(得分:0)

您可以尝试使用字符串输入它。例如,你声明一个变量来保存结果转换,比如$ answersql =" INSERT INTO Answer((string)Answer))     价值观(?)&#34 ;; 或者你可以输入指定的变量: (字符串)$ answersql =" INSERT INTO Answer(Answer)     价值观(?)&#34 ;;  取决于您需要结果的方式或位置。

答案 2 :(得分:0)

情侣用品。在绑定时,您需要先将$ _POST赋值给变量。我看到你在那里有一个柜台,但是看不到你在哪里迭代任何东西。我假设你可以将$ _POST ['value']分配给一个scale变量。

 $input = $_POST['value'];

如果在db表列上设置了auto_increment属性,INSERT将返回true或false以及ID。如果是,则可以使用

 $insertid = $insertanswer->insert_id;

但是,如果您编写语句的方式,它将不会返回任何值。只是true或false和id(如果设置了auto_increment属性)。