我正在编写一个脚本,帮助我从网站上获取有关新书的信息。我有8个信息(标题,作者,编辑......)要插入,每页上有10本或更少的书要扫描。
最后一步是查询,但是我有一些问题需要理解multidimensionnal数组。
我的准备语法:
$req = $db->prepare('INSERT INTO listing(id, Ref, Nom, Auteur, Editeur, Prix, EAN, Small_desc, Dispo) VALUES(\'\', :Ref, :Nom, :Auteur, :Editeur, :Prix, :EAN, :Small_desc, :Dispo)');
查询...我已经用第一行进行了测试。那是有效的!但我希望插入所有结果。
$req->execute(array('Ref'=>$sortie4[1][0], 'Nom'=>$sortie[1][0], 'Auteur'=>$sortie2[1][0], 'Editeur'=>$sortie3[1][0], 'Prix'=>$sortie6[1][0], 'EAN'=>$sortie5[1][0], 'Small_desc'=>$sortie7[1][0], 'Dispo'=>$sortie8[1][0]));
我找到了一些关于multidimensionnal数组的例子,但我不明白我如何使用它们。
感谢您的帮助
答案 0 :(得分:0)
您可以阅读 THIS 以了解有关数组的更多信息。
答案 1 :(得分:0)
可以这样做:
$req = $db->prepare('INSERT INTO listing(id, Ref, Nom, Auteur, Editeur, Prix, EAN, Small_desc, Dispo) VALUES(\'\', :Ref, :Nom, :Auteur, :Editeur, :Prix, :EAN, :Small_desc, :Dispo)');
foreach($sortie4[1] as $key => $value)
{
$req->execute(array(':Ref'=>$sortie4[1][$key], ':Nom'=>$sortie[1][$key], ':Auteur'=>$sortie2[1][$key], ':Editeur'=>$sortie3[1][$key], ':Prix'=>$sortie6[1][$key], ':EAN'=>$sortie5[1][$key], ':Small_desc'=>$sortie7[1][$key], ':Dispo'=>$sortie8[1][$key]));
}
变更是:
execute()
循环插入每一行。通过捕获密钥,您可以访问其他阵列中的相关元素。:
前缀,我添加了这些。旁注:您的阵列不是最理想的结构。您有几个多维数组,每列一个。相反,你应该只需要一个例如:
$arr = array(
array('Ref' => '...', 'id' => '...', 'Nom' => '...'),
array('Ref' => '...', 'id' => '...', 'Nom' => '...'),
array('Ref' => '...', 'id' => '...', 'Nom' => '...'),
array('Ref' => '...', 'id' => '...', 'Nom' => '...')
);