PHP——读取数据,存储在变量中,然后插入mysql数据库


PHP - reading data, storing in a variable, and then inserting into mysql database

我有从mysql生成的选择框。当用户选择一个选择框值时,我想读取数据,然后将数据插入mysql数据库。我想我已经把所有的东西都整理好了,但我在尝试将数据输入mysql时遇到了问题。我正在尝试读取数据,然后将其存储在一个变量中,然后将该变量值发送到数据库。但就我所拥有的而言,我遇到了一个错误:

可捕获的致命错误:无法转换stdClass类的对象在第12行的/Users/thomas/Sites/submit.php中字符串

我不太了解PHP来解决这个问题,所以我正在寻求一些帮助?

 <?php
    $monday_am_task = $_POST['mondaycombo'];
    $i=1;
    $link = mysql_connect("127.0.0.1", "root", "") or die(mysql_error());
    mysql_select_db("timesheet",$link) or die(mysql_error());
    $SQL = "SELECT * FROM am_task where am_task ='" .$monday_am_task."'";
        $result = mysql_query($SQL);
        $monday_am_task = mysql_fetch_field($result,$i);

    $SQL = "INSERT INTO `timesheet_submission`( `monday_am_task`) VALUES ('".$monday_am_task."')";
    $result = mysql_query($SQL);
 ?>

感谢

EDIT:表示注释。

您的问题是您的$monday_am_taskObject(请参阅mysql_fetch_field文档),并且它无法转换为以下行中的字符串:

$SQL = "INSERT INTO `timesheet_submission`( `monday_am_task`) VALUES ('".$monday_am_task."')";

这就是为什么必须用$monday_am_task->your_field替换它,其中your_field是表am_tasks中的一个字段。

编辑:响应您的评论,对象属性可以是可变的,演示:

<?php
   $obj = new stdClass();
   $obj->test = 2;
   $v = "test";
   print $obj->$v; // print 2
 ?>