从查询中添加多行 php mysql
Add multiple rows from a query php mysql
我正在尝试将查询结果添加到新的空 table,table 已经存在..
到目前为止,这是我的代码,没有出现错误,但也没有插入,
任何帮助都会很好..
<?php require_once('../Connections/OASDB.php');
mysql_select_db($database_OASDB, $OASDB);
$sql = "SELECT SnPf, InvoiceNo, CustomerName FROM VSTStbl000010 WHERE SnPf = '40446'";
$result = mysql_query($sql) or die(mysql_error());
$INS = array();
while($row = mysql_fetch_assoc($result)) {
$INS[] = $row;
}
foreach( $INS as $row ) {
$INS[] = '("'.mysql_real_escape_string($row['InvoiceNo']).'", '.$row['CustomerName'].')';
mysql_query('INSERT INTO phptest (InvoiceNo, CustomerName) VALUES '.implode(',', $INS));
}
?>
更新 -
我现在正在使用...
<?php require_once('../Connections/OASDB.php');
mysql_select_db($database_OASDB, $OASDB);
$sql = "SELECT SnPf, InvoiceNo, CustomerName FROM VSTStbl000010 WHERE SnPf = '18490'";
$result = mysql_query($sql) or die(mysql_error());
$INS = array();
while($row = mysql_fetch_assoc($result)) {
$INS[] = $row;
}
foreach( $INS as $row ) {
mysql_query("INSERT INTO phptest (InvoiceNo, CustomerName) VALUES (".$row['InvoiceNo'].", '".$row['CustomerName']."') or die(mysql_error()");
}
?>
不幸的是我回来没有错误,仍然没有插入?
感谢迄今为止的所有帮助..
每次放入数组时,您都在向数组中添加另一个元素。
这完全是把一切都搞砸了,让你的查询失败。
在您发布更新后,您在查询中错误地插入了 PHP 命令 "die()"。你需要把它拿出来。
只是 copy/paste 我提供的代码,它是拖放式的。
这样做行不行...
mysql_select_db($database_OASDB, $OASDB);
$sql = "SELECT SnPf, InvoiceNo, CustomerName FROM VSTStbl000010 WHERE SnPf = '40446'";
$result = mysql_query($sql) or die(mysql_error());
$INS = array();
while($row = mysql_fetch_assoc($result)) {
$INS[] = $row;
}
foreach( $INS as $row ) {
mysql_query("INSERT INTO `phptest` (`InvoiceNo`, `CustomerName`) VALUES (".$row['InvoiceNo'].", '".$row['CustomerName']."')";
}
谢谢臭名昭著,是的,我已经完成了那个工作,现在正在使用这段代码..
再次感谢
foreach( $INS as $row ) {
mysql_query("INSERT INTO phptest (InvoiceNo, CustomerName) VALUES (".$row['InvoiceNo'].", '".$row['CustomerName']."')");
}
我正在尝试将查询结果添加到新的空 table,table 已经存在..
到目前为止,这是我的代码,没有出现错误,但也没有插入,
任何帮助都会很好..
<?php require_once('../Connections/OASDB.php');
mysql_select_db($database_OASDB, $OASDB);
$sql = "SELECT SnPf, InvoiceNo, CustomerName FROM VSTStbl000010 WHERE SnPf = '40446'";
$result = mysql_query($sql) or die(mysql_error());
$INS = array();
while($row = mysql_fetch_assoc($result)) {
$INS[] = $row;
}
foreach( $INS as $row ) {
$INS[] = '("'.mysql_real_escape_string($row['InvoiceNo']).'", '.$row['CustomerName'].')';
mysql_query('INSERT INTO phptest (InvoiceNo, CustomerName) VALUES '.implode(',', $INS));
}
?>
更新 -
我现在正在使用...
<?php require_once('../Connections/OASDB.php');
mysql_select_db($database_OASDB, $OASDB);
$sql = "SELECT SnPf, InvoiceNo, CustomerName FROM VSTStbl000010 WHERE SnPf = '18490'";
$result = mysql_query($sql) or die(mysql_error());
$INS = array();
while($row = mysql_fetch_assoc($result)) {
$INS[] = $row;
}
foreach( $INS as $row ) {
mysql_query("INSERT INTO phptest (InvoiceNo, CustomerName) VALUES (".$row['InvoiceNo'].", '".$row['CustomerName']."') or die(mysql_error()");
}
?>
不幸的是我回来没有错误,仍然没有插入?
感谢迄今为止的所有帮助..
每次放入数组时,您都在向数组中添加另一个元素。
这完全是把一切都搞砸了,让你的查询失败。
在您发布更新后,您在查询中错误地插入了 PHP 命令 "die()"。你需要把它拿出来。
只是 copy/paste 我提供的代码,它是拖放式的。
这样做行不行...
mysql_select_db($database_OASDB, $OASDB);
$sql = "SELECT SnPf, InvoiceNo, CustomerName FROM VSTStbl000010 WHERE SnPf = '40446'";
$result = mysql_query($sql) or die(mysql_error());
$INS = array();
while($row = mysql_fetch_assoc($result)) {
$INS[] = $row;
}
foreach( $INS as $row ) {
mysql_query("INSERT INTO `phptest` (`InvoiceNo`, `CustomerName`) VALUES (".$row['InvoiceNo'].", '".$row['CustomerName']."')";
}
谢谢臭名昭著,是的,我已经完成了那个工作,现在正在使用这段代码..
再次感谢
foreach( $INS as $row ) {
mysql_query("INSERT INTO phptest (InvoiceNo, CustomerName) VALUES (".$row['InvoiceNo'].", '".$row['CustomerName']."')");
}