我已尝试过这两个链接,但我没有在$ fields和$ newdata中获得预期的变量内容
**这个问题在这里开发了一个新问题** PHP how to extract keys names and values from associative array for mysql query(正如我所说的那样,新手并且需要做一些工作才能以正确的方式提出问题)
所以我请在这里打印一些var_dump,然后请你帮忙。
为了简化我的学习实验,我正在处理一个只包含5个字段的虚拟表格,如您所见:selected
,user_id
,user_name
,{ {1}}和user_company
。
最后我只插入了两行值。
使用此代码
user_email
我可以看到这个输出
$Arr = (array)$data;
print_r ( $Arr );
接下来我尝试应用你的链接代码
Array (
[0] => Array ( [selected] => [user_id] => 3 [user_name] => nome3 [user_company] => azien3 [user_email] => email3 )
[1] => Array ( [selected] => 1 [user_id] => 6 [user_name] => nome6 [user_company] => azien6 [user_email] => email6 )
)
但是在我的解释或代码中出现了问题,因为输出是
Notice: Array to string conversion in D:\xampp\htdocs\ajax-json\post.php on line 25 Notice: Array to string conversion in D:\xampp\htdocs\ajax-json\post.php on line 25 string(3) "0,1" string(15) "'Array','Array'"
你能指出什么是错的吗? 例如我的阵列是否正确形成了?
原始问题
我是新手,经过进一步的阅读后,我明白了,希望现在我的问题可以变得更简单了。谢谢你的提示。
我有一个二维数组,因为它的记录来自一个html表。
在html端进行的集合会生成一个关联数组,因此每一行都类似于以下示例,其中,您也可以看到,键很多
24 $fields = implode(",", array_keys($Arr));
25 $newdata = "'" . implode("','", $Arr) . "'";
26
27 var_dump($fields);
28 echo "<br><br>";
29 var_dump($newdata);
我要插入项目的mysql表名称名为items_table
&#34;单元&#34; &#34;数量&#34;和&#34;描述&#34;所有剩余的键(共47个)与items_table列的名称完全相同
当在php端时,我希望有一种自动查询生成可能与PDO一起从内部数组键名称中选择列名称,并将相应的键值插入正确的列中。 / p>
目标是避免创建这种笨拙且极长的查询。
首选方法是使用PDO,避免绑定47个密钥。
这种自动化也很有用,因为将来可能会添加或删除或重命名mysql表中的列,所以我想忘记只考虑正确编辑html表的查询(在那一侧,数组已经自动生成了一些javascript)
您认为可以这样做吗?
如果是,如何?
这还需要一些foreach循环吗?
感谢您的帮助
答案 0 :(得分:0)
E.g:
core_table
id* unit quantity description
1 car 3 Description 1
2 bike 74 Description 2
adjunct_table
core_id* meta_key* meta_value
1 47 Description of key n.47 first row
2 47 Description of key n.47 second row
* = (component of) PRIMARY KEY