我是靠谱客的博主 孤独含羞草,最近开发中收集的这篇文章主要介绍php 循环读取数组写入mysql,PHP / MYSQL插入数组Foreach循环,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

This one has me pretty rattled so I thank you in advance for your assistance. There seem to be a number of walkthroughs on this topic but it seems I may be skinning this cat a bit different. . . .

I have a purchase order form that I'm using javascript to dynamically add rows to a table and capture data for multiple line items. I'm then collecting data for each column in an array. For example I have "Cust_PN", "Qty", "Price" as columns and arrays for each. . . Cust_PN[0] Cust_PN[1] and Cust_PN[2] for line items 1-3 respectively. I then have Qty[0], Qty[1], and Qty[2] and so on.

I can get this to echo properly without issue. However, when I go to post I am only posting the array data from the last entry *[3] per my example above.

I currently have the following code/query. . . again any help would be much appreciated.

$query1 = "INSERT INTO SO_Items (Timestamp,SO_Num,SO_Rev,SO_Line_Item,Cust_PN,Cust_PN_Rev,My_PN,My_PN_Rev,Description,

Qty,Sale_Price,UOM,Program,Required_Date)

SELECT NOW(),'$SO_Num','$SO_Rev','$SO_Line_Item[$a]','$Cust_PN[$a]','$Cust_PN_Rev[$a]','$My_PN[$a]','$My_PN_Rev[$a]','$Description[$a]','$Qty[$a]','$Sale_Price[$a]','$UOM[$a]','$Program[$a]','$Required_Date[$a]'" or die ('Error posting data');

foreach($Cust_PN as $a => $b) {

mysql_query($query1);

}

I'm quite certain there are a number of issues in the above. . . thank you in advance.

解决方案

Your main issue is, declaring $query outside the loop.

It makes it a constant, and that too, takes values $a and $b which are that time, undefined, so results in invalid syntax for SQL.

foreach($Cust_PN as $a => $b) {

$query1 = "INSERT INTO SO_Items (Timestamp, SO_Num, SO_Rev, SO_Line_Item, Cust_PN, Cust_PN_Rev, My_PN, My_PN_Rev, Description, Qty, Sale_Price, UOM, Program, Required_Date) VALUES (NOW(), '$SO_Num', '$SO_Rev', '$SO_Line_Item[$a]', '$Cust_PN[$a]', '$Cust_PN_Rev[$a]', '$My_PN[$a]', '$My_PN_Rev[$a]', '$Description[$a]', '$Qty[$a]', '$Sale_Price[$a]', '$UOM[$a]', '$Program[$a]', '$Required_Date[$a]');";

$q = mysql_query($query1) or die ('Error posting data');

}

Try that.

Fixed your SQL query too. Correct syntax is

INSERT INTO table_name (column1, column2, column3,...)

VALUES (value1, value2, value3,...)

You had put SELECT in place of VALUES

Let me know if it works, and otherwise please tell what error it ives exactly.

最后

以上就是孤独含羞草为你收集整理的php 循环读取数组写入mysql,PHP / MYSQL插入数组Foreach循环的全部内容,希望文章能够帮你解决php 循环读取数组写入mysql,PHP / MYSQL插入数组Foreach循环所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部