$transaction->setFields(
array(
'first_name' => $_POST['x_first_name'],
'last_name' => $_POST['x_last_name'],
)
mysql_query("INSERT INTO table_one (`first_name`, `last_name`)
VALUES ("$transaction->setFields['x_first_name']",'last_name')");
有问题从这个数组调用,必须是语法,但我找不到一个好的参考。
您的数组缺少);
,并且在最后一个元素上有一个尾随逗号。另外,你在查询中的报价是错误的。试试这个:
$transaction -> setFields(array('first_name' => $_POST['x_first_name'], 'last_name' => $_POST['x_last_name']));
mysql_query("INSERT INTO table_one (`first_name`, `last_name`) VALUES ('" . $transaction -> setFields['x_first_name'] . "','last_name')");
无论是否为数组,当你从双引号内访问变量时,总是使用大括号。
mysql_query("INSERT INTO table_one (`first_name`, `last_name`)
VALUES ("{$array['x_first_name']}",'{$array['last_name']}')");
如果您可以在本页搜索"复杂(花括号)语法",可以找到更多信息:http://php.net/manual/en/language.types.string.php
很高兴看到$transaction
的声明。也许使用SPL数组/迭代器之类的?假设没有其他getter可能有getFields()?
$fields = $transaction->getFields();
或者直接使用传递给setter的数组。无论如何,使用[]
…
mysql_query("INSERT INTO table_one (`first_name`, `last_name`)
VALUES ("{$fields['x_first_name']}",'last_name')");