Php 将数组插入数据库表
我是php新手,我在数据库和数组中练习。我的数据库中有两个表。我能够在我的一个表中获取数据并将其保存在一个数组中。现在我要做的是将数组中的数据保存到另一个表中 我的阵列是多维的: 数组([0]=>Array([recNAME]=>NAME1[公司]=>address1[地址1]=>address1[地址2]=>CITY1[省]=>CITY1[省]=>PROVINCE1[邮政编码]=>0[联系人编号]=>926XXXXX[电子邮件]=>XXXXX@yahoo.com[商品]=>COMMODITY1[类型]=>[重量]=>0[长度]=>0[宽度]=>0[高度]=>0[日期]=>0[规格]=>0[发货参考]=>REF1[payMETHOD]=>CashOnDelivery[packNO]=>200XXXX-XXX[trackNO]=>200XXXX-XXX[1]=>Array([recNAME]=>NAME2[company]=>[address1]=>ADDRESS2[ADDRESS2]=>[city]=>CITY2[PROVINCE2[postalCODE]=>0[contactNO]=>905xxxxx[email]=>XXXXX@hotmail.com[商品]=>COMMODITY2[类型]=>[重量]=>0[长度]=>0[宽度]=>0[height]=>0[decVAL]=>361[specINSTRUC]=>m-F,上午11点到下午6点,我在上述给定的地址,打电话或发短信给我确认[shipREF]=>200XXXXX[payMETHOD]=>CashOnDelivery[packNO]=>200XXXX-XXX[trackNO]=>200XXXX-XXX])Php 将数组插入数据库表,php,arrays,database,insert,save,Php,Arrays,Database,Insert,Save,我是php新手,我在数据库和数组中练习。我的数据库中有两个表。我能够在我的一个表中获取数据并将其保存在一个数组中。现在我要做的是将数组中的数据保存到另一个表中 我的阵列是多维的: 数组([0]=>Array([recNAME]=>NAME1[公司]=>address1[地址1]=>address1[地址2]=>CITY1[省]=>CITY1[省]=>PROVINCE1[邮政编码]=>0[联系人编号]=>926XXXXX[电子邮件]=>XXXXX@yahoo.com[商品]=>COMMODITY1
有什么方法可以将它保存到我的另一个表中?我搜索了一些,其中大多数是序列化的。我不知道如何将它保存到表中。请帮助。注意。您必须创建动态字符串数组,并将每个值按公共项分解到字符串中
将生成动态字符串,然后您可以将该字符串插入到表中。您必须创建动态字符串数组,并将每个值按公共项分解到字符串中
将生成动态字符串,然后您可以将该字符串插入到表中。您必须创建动态字符串数组,并将每个值按公共项分解到字符串中
将生成动态字符串,然后您可以将该字符串插入到表中。您必须创建动态字符串数组,并将每个值按公共项分解到字符串中
将生成动态字符串,然后您可以将该字符串插入表中。Yo可以使用php方法生成值的可存储表示形式。当您从数据库获取数据时,使用php方法生成值的可存储表示形式。当您从数据库获取数据时,使用可以使用php方法生成值的可存储表示形式。当您从数据库获取数据时,可以使用php方法生成值的可存储表示形式。当您从数据库获取数据时,可以使用php方法生成值的可存储表示形式。您必须编写一个查询来实现这一点,当然您必须循环数组 当然,有更好的方法来实现这一点,但对于简单的练习,我建议你们这样做,你们有很多的弦乐切割等等 在执行代码之前,使用echo$query测试代码的结果 工作示例可能如下所示:
$query = "INSERT INTO myTable (`name`, `company`, `adress_1`) VALUES (";
foreach($myArray as $data) {
$query .= "'" . mysql_real_escape_string($data["recNAME"]) . "', ";
$query .= "'" . mysql_real_escape_string($data["company"]) . "', ";
$query .= "'" . mysql_real_escape_string($data["address1"]) . "'), (";
}
$query = substr($query, 0, strlen($query) - 3);
echo $query;
mysql_query($query);
最好的解决方案是编写/查找一个有用的MySQL处理程序类,该类提供简单的函数,如接受数组的插入函数
但我不确定你对OOP了解多少。
如果您理解了如何手动操作的原理,然后自己编写类,那么您肯定已经完全理解了它
然而,更复杂的方法是:
这不是一个完整的例子
class MySQL
{
private $handle = null;
private function connect() {
$this->handle = mysql_connect("127.0.0.1", "user", "pass", "db");
}
public function execute($query) {
if($this->handle == NULL) {
$this->connect();
}
if($this->handle != NULL) {
mysql_query($query, $this->handle);
}
}
public function insert($table, $fields, $values) {
$query = "";
if(is_array($fields) == true && is_array($values) == true) {
$query .= "INSERT INTO `$table` (";
foreach($fields as $field) {
$query .= "`$field`" . ", ";
}
$query = substr($query, 0, strlen($query) - 2);
$query .= ") VALUES (";
$count = 0;
foreach($values as $value) {
$query .= "'" . mysql_real_escape_string($value) . "'";
if($count == count($fields)) {
$query .= ", ";
} else {
$query .= "),(";
}
$count++;
}
$query = substr($query, 0, strlen($query) - 2);
}
if(strlen($query) > 0) {
$this->execute($query);
return true;
}
return false;
}
}
当然,这个示例不是很完整,它只是一个简短的示例,您可以在类中存储结果、numrow和更多内容,但以下是用法:
$sql = new MySQL();
$sql->insert("myTable", array("name, "company", "adress_1"), array("guy, "company a", "street 1", "girl", "company b", "street 2"));
您必须编写一个查询来实现这一点,当然,您必须循环数组 当然,有更好的方法来实现这一点,但对于简单的练习,我建议你们这样做,你们有很多的弦乐切割等等 在执行代码之前,使用echo$query测试代码的结果 工作示例可能如下所示:
$query = "INSERT INTO myTable (`name`, `company`, `adress_1`) VALUES (";
foreach($myArray as $data) {
$query .= "'" . mysql_real_escape_string($data["recNAME"]) . "', ";
$query .= "'" . mysql_real_escape_string($data["company"]) . "', ";
$query .= "'" . mysql_real_escape_string($data["address1"]) . "'), (";
}
$query = substr($query, 0, strlen($query) - 3);
echo $query;
mysql_query($query);
最好的解决方案是编写/查找一个有用的MySQL处理程序类,该类提供简单的函数,如接受数组的插入函数
但我不确定你对OOP了解多少。
如果您理解了如何手动操作的原理,然后自己编写类,那么您肯定已经完全理解了它
然而,更复杂的方法是:
这不是一个完整的例子
class MySQL
{
private $handle = null;
private function connect() {
$this->handle = mysql_connect("127.0.0.1", "user", "pass", "db");
}
public function execute($query) {
if($this->handle == NULL) {
$this->connect();
}
if($this->handle != NULL) {
mysql_query($query, $this->handle);
}
}
public function insert($table, $fields, $values) {
$query = "";
if(is_array($fields) == true && is_array($values) == true) {
$query .= "INSERT INTO `$table` (";
foreach($fields as $field) {
$query .= "`$field`" . ", ";
}
$query = substr($query, 0, strlen($query) - 2);
$query .= ") VALUES (";
$count = 0;
foreach($values as $value) {
$query .= "'" . mysql_real_escape_string($value) . "'";
if($count == count($fields)) {
$query .= ", ";
} else {
$query .= "),(";
}
$count++;
}
$query = substr($query, 0, strlen($query) - 2);
}
if(strlen($query) > 0) {
$this->execute($query);
return true;
}
return false;
}
}
当然,这个示例不是很完整,它只是一个简短的示例,您可以在类中存储结果、numrow和更多内容,但以下是用法:
$sql = new MySQL();
$sql->insert("myTable", array("name, "company", "adress_1"), array("guy, "company a", "street 1", "girl", "company b", "street 2"));
您必须编写一个查询来实现这一点,当然,您必须循环数组 当然,有更好的方法来实现这一点,但对于简单的练习,我建议你们这样做,你们有很多的弦乐切割等等 在执行代码之前,使用echo$query测试代码的结果 工作示例可能如下所示:
$query = "INSERT INTO myTable (`name`, `company`, `adress_1`) VALUES (";
foreach($myArray as $data) {
$query .= "'" . mysql_real_escape_string($data["recNAME"]) . "', ";
$query .= "'" . mysql_real_escape_string($data["company"]) . "', ";
$query .= "'" . mysql_real_escape_string($data["address1"]) . "'), (";
}
$query = substr($query, 0, strlen($query) - 3);
echo $query;
mysql_query($query);
最好的解决方案是编写/查找一个有用的MySQL处理程序类,该类提供简单的函数,如接受数组的插入函数
但我不确定你对OOP了解多少。
如果您理解了如何手动操作的原理,然后自己编写类,那么您肯定已经完全理解了它
然而,更复杂的方法是:
这不是一个完整的例子
class MySQL
{
private $handle = null;
private function connect() {
$this->handle = mysql_connect("127.0.0.1", "user", "pass", "db");
}
public function execute($query) {
if($this->handle == NULL) {
$this->connect();
}
if($this->handle != NULL) {
mysql_query($query, $this->handle);
}
}
public function insert($table, $fields, $values) {
$query = "";
if(is_array($fields) == true && is_array($values) == true) {
$query .= "INSERT INTO `$table` (";
foreach($fields as $field) {
$query .= "`$field`" . ", ";
}
$query = substr($query, 0, strlen($query) - 2);
$query .= ") VALUES (";
$count = 0;
foreach($values as $value) {
$query .= "'" . mysql_real_escape_string($value) . "'";
if($count == count($fields)) {
$query .= ", ";
} else {
$query .= "),(";
}
$count++;
}
$query = substr($query, 0, strlen($query) - 2);
}
if(strlen($query) > 0) {
$this->execute($query);
return true;
}
return false;
}
}
当然,这个示例不是很完整,它只是一个简短的示例,您可以在类中存储结果、numrow和更多内容,但以下是用法:
$sql = new MySQL();
$sql->insert("myTable", array("name, "company", "adress_1"), array("guy, "company a", "street 1", "girl", "company b", "street 2"));
您必须编写一个查询来实现这一点,当然,您必须循环数组 当然,有更好的方法来实现这一点,但对于简单的练习,我建议你们这样做,你们有很多的弦乐切割等等 在执行代码之前,使用echo$query测试代码的结果 工作示例可能如下所示:
$query = "INSERT INTO myTable (`name`, `company`, `adress_1`) VALUES (";
foreach($myArray as $data) {
$query .= "'" . mysql_real_escape_string($data["recNAME"]) . "', ";
$query .= "'" . mysql_real_escape_string($data["company"]) . "', ";
$query .= "'" . mysql_real_escape_string($data["address1"]) . "'), (";
}
$query = substr($query, 0, strlen($query) - 3);
echo $query;
mysql_query($query);
最好的解决办法是写/找到一个