㈠ php用foreach将一个长数组循环插入数据库
重构函数,将一维数组转成二维数组,
$newArray=[];
for($i=1;$i<=count($arr)/3;$i++){
foreach($arras$key=>$val){
if($key=="item_name_".$i){
$newArray[$i][$key]=$val;
}
}
}
此时$newArray就是一个二维数组。每组数据一个组。然后拼接sql语句插入
㈡ php中怎么循环插入数据库
把复选框的值作为参数提交,作为循环的次数
$s1 = $_POST['s1'];//获取样品数量
for($i = 1; $i<=$s1; $i++){
$tmp = $_POST['smp'.$i]; //这里是对应循环中的文本框name属性
$sql = "insert into 表名(字段....) values('样品名',数量)";
mysql_query($sql,$conn);
}
这样写,能看明白么?
㈢ php foreach循环输入insert数据库
你这种方式数据入库的话,1000w条数据,要连接1000w次数据库的,性能肯定是差的,因为建立一次数据库连接是开销很大的操作
数据库的插入是支持多条的啊
insert into 表(字段) values (值),(值2),(值3)
这样就可以连接一次数据库,插入多条数据了,可以把1000w条数据分几组,这样连接数据库的次数会大大减少,性能自然就好了
㈣ PHP foreach 防注入请教
php foreach只是个循环函数,没有注入一说。
注入一般指的是数据库注入。意思就是使用一些非法字符,改变数据的正常sql语句功能。
当然也有一些注入html标签的方法破坏网站结构等等。
网站上用户传入的数据,经过验证,并不关foreach的事,使用字符串的相关操作,将非法的html标签等删除掉等等。
㈤ php foreach遍历数据表,顺便写清楚连接mysql数据库的详细内容,数据如果为a,表名为b,要遍历b中所有字段
<?php
$mysql_server = "127.0.0.1";
$mysql_username = "root";
$mysql_password = "";
$mysql_dbname = "a";
if (isset($_GET['username']) && !empty($_GET['username'])) {
$con = mysql_connect($mysql_server, $mysql_username, $mysql_password) or die ('Could not connect to mysql server!');
mysql_select_db($mysql_dbname) or die('Could not select database!');
$username = $_GET['username'];
$sql = "SELECT 表列名 FROM b";
$arrays=mysql_fetch_assoc(mysql_query($sql));
foreach($arrays['列名'] as $v) { echo $v." "; }
mysql_close($con);
}
?>
㈥ php两个数组怎么用foreach循环插入到数据库中
两个数组可以合并成一个,也可以分别。
$time
=
date("Y-m-d
H:i:s");
$query=mysql_query("insert
into
comments(user,comment,addtime)values('$user','$txt','$time')");
if($query)
echo
'1';
㈦ PHP中的函数-- foreach()的用法详解
PHP
4
引入了
foreach
结构,和
Perl
以及其他语言很像。这只是一种遍历数组简便方法。foreach
仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。有两种语法,第二种比较次要但却是第一种的有用的扩展。
复制代码
代码如下:
foreach
(array_expression
as
$value)
statement
foreach
(array_expression
as
$key
=>
$value)
statement
第一种格式遍历给定的
array_expression
数组。每次循环中,当前单元的值被赋给
$value
并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量
$key。
自PHP
5
起,还可能遍历对象。
注意:当
foreach
开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在
foreach
循环之前调用
reset()。
注意:除非数组是被引用,foreach
所操作的是指定数组的一个拷贝,而不是该数组本身。foreach对数组指针有些副作用。除非对其重置,在
foreach
循环中或循环后都不要依赖数组指针的值。
自
PHP
5
起,可以很容易地通过在
$value
之前加上
&
来修改数组的元素。此方法将以引用赋值而不是拷贝一个值。
复制代码
代码如下:
<?php
$arr
=
array(1,
2,
3,
4);
foreach
($arr
as
&$value)
{
$value
=
$value
*
2;
}
//
$arr
is
now
array(2,
4,
6,
8)
?>
此方法仅在被遍历的数组可以被引用时才可用(例如是个变量)。
复制代码
代码如下:
<?php
foreach
(array(1,
2,
3,
4)
as
&$value)
{
$value
=
$value
*
2;
}
?>
㈧ PHP中foreach函数用法
1.foreach(被foreach的对象(一般是数组)as 内容) {
}
例子
$x = array(1,2,3,4,5)
foreach ($x as $y) {
//这里的y依次为1,2,3,4,5
}
2.foreach(被foreach的对象(一般是数组)as index => 内容) {
}
例子
$x = array(1,2,3,4,5)
foreach ($x as $index => $y) {
//这里的y依次为1,2,3,4,5, $index依次为0,1,2,3,4
}
㈨ PHP通过foreach循环向数据库中写入表单项的值的疑问
建议楼主把SQL语句显示出来,自然就明白问题在哪里了,我试着简单说一下,假设你的USER数据表有三个字段(name、age、sex),_POST提交数据也是这三个字段的,假设POST的值分别是abc、18、男,那么帖子的PHP会执行下面的三个SQL语句:
INSERT INTO USER(name) VALUES(abc)
INSERT INTO USER(age) VALUES(18)
INSERT INTO USER(sex) VALUES(男)
现在明白了吧,一、三两句会语法错误,英文没有在文本字段添加引号,第二句即使执行成功插入的记录只有年龄,姓名、性别为空,如果数据库有限制字段有效性,那么第二句插入也会失败,数据库需要的语句是:
INSERT INTO USER(name,age,sex) VALUES('abc',18,'男')
如果理解了,自然会下面这样写PHP语句:
$sql=<<<END
INSERT INTO USER(name,age,sex)
VALUES('{$_POST['name']}',{$_POST['age']},'{$_POST['sex']}')
END;
㈩ PHP怎么用foreach循环数据库里的数据
用while循环例如:
$res = mysql_query("select id,name,description,price,pic_url1 from ebf_procts");
while($pp = mysql_fetch_array($res,MYSQL_ASSOC) or false){
$list[] = $pp;
}