如何使用插入记录将所有值 frow 行插入 mysql 数据库?
Posted
技术标签:
【中文标题】如何使用插入记录将所有值 frow 行插入 mysql 数据库?【英文标题】:How to insert all values frow row into mysql database using insert record? 【发布时间】:2015-10-10 03:57:57 【问题描述】:你好,我的 php 有问题,只有行中的最后一个值被插入到 mysql 数据库中:Last value inserted from rows
mysql database only show the last value to be inserted from insert record
我希望插入的三个数据不仅是最后一个值...我该怎么做?
这是我的插入记录行为代码:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1"))
$insertSQL = sprintf("INSERT INTO ordering (productCode, Name, paymentMethod, Quantity, TotalPrice) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['productcode'], "int"),
GetSQLValueString($_POST['Name'], "text"),
GetSQLValueString($_POST['PaymentMethod'], "text"),
GetSQLValueString($_POST['quantity'], "int"),
GetSQLValueString($_POST['totalprice'], "double"));
mysql_select_db($database_perfume_connection, $perfume_connection);
$Result1 = mysql_query($insertSQL, $perfume_connection) or die(mysql_error());
$insertGoTo = "member_perfume_homepage.php";
if (isset($_SERVER['QUERY_STRING']))
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
header(sprintf("Location: %s", $insertGoTo));
【问题讨论】:
【参考方案1】:请显示您发送帖子数据的 html 页面。我认为您应该必须创建一个 $_POST 变量数组,然后您可以在 php 端获取所有记录,然后您可以在表中插入所有三个记录。
试试这个
请查看以下链接,您可以在其中找到您的解决方案 Inserting Multiple Rows with PHP & MySQL
【讨论】:
嘿,谢谢你的回答......我不知道如何准确地显示 html 页面......因为我不太擅长 php,因为我主要只是为学校项目做这个......你能告诉我怎么做?我真的不想在星期二之前完成这项工作 我试过了,但我遇到了很多错误.. + 我不明白那个解决方案,尽管把编码放在哪里..【参考方案2】:创建包含所有表列的模型。
class OrderModel extends BaseModel
public $id;
// Fill here all columns
public function __construct($data)
foreach ($data as $key => $value)
$this->$key = $value;
public function get_table_name()
return "ordering";
创建Base模型类并将insert方法放入该类中。
public function insert()
$dbh = DB::connect();
$object_keys = array_keys(get_object_vars($this));
$query = "INSERT INTO " . $this->get_table_name() . " (" . implode(',', $object_keys) . ") VALUES(:" . implode(',:', $object_keys) . ");";
$sth = $dbh->prepare($query);
foreach ($object_keys as $key)
$sth->bindParam(':' . $key, $this->$key);
$sth->execute();
$this->id = $dbh->lastInsertId();
return TRUE;
$filtered_post = filter_input_array(INPUT_POST);
$order = New OrderModel($filtered_post);
$order->insert();
使用 PDO 代替 mysql_ 函数
使用过滤器函数过滤 POST 数组
【讨论】:
嘿,感谢您的回答,感谢...那么我该怎么办?我复制所有的编码并将其插入到 php 中?还是什么?以上是关于如何使用插入记录将所有值 frow 行插入 mysql 数据库?的主要内容,如果未能解决你的问题,请参考以下文章