我有从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_task
是Object
(请参阅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
?>