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

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

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

这就是为什么您不能将其打印为字符串的原因。它不是一个字符串。

于 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'];

如果您在 db 表列上设置了 auto_increment 属性,则 INSERT 返回 true 或 false 和一个 ID。如果是这样,您可以使用

 $insertid = $insertanswer->insert_id;

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

于 2012-10-10T00:19:58.270 回答