我正在使用oops在php中的数据库中插入数组值。我在表单页面上调用了一个类。
<?php
$pid=$_POST['pid'];
$ecode=$_POST['ecode']; {these are my form value)
$rcode=$_POST['rcode'];
$dk=$_POST['dk'];
$qd=$_POST['qd'];
$tp=$_POST['tp'];
$vd=$_POST['vd'];
$valArr=array($pid,$ecode,$rcode,$dk,$qd,$tp,$vd);
if(isset($_POST['form_submit'])){
$requester=new performance();
$requester->addRow($valArr);
}
?>
和类性能代码是
class performance extends DataAccess
{
{
$this->obj= new DataAccess;
}
function addRow($valArr)
{
foreach ($valArr as $key=>$value )
$sql= INSERT INTO employee_performance (id, empcode,review_emp_id,
subject_matter,quality_of_delivery, team_player,value_added)
VALUES $value
}
$sql=mysql_query($sql);
}
}
它无法在database.how中插入所有记录。我这样做了吗?
我想知道如何使用foreach在mysql数据库中插入此数据。
答案 0 :(得分:0)
您的代码错误比我能算的错误多。但是,这是一个条纹下降和丑陋/快速(希望工作)编辑:
<?php
$pid = $_POST['pid'];
$ecode = $_POST['ecode'];
$rcode = $_POST['rcode'];
$dk = $_POST['dk'];
$qd = $_POST['qd'];
$tp = $_POST['tp'];
$vd = $_POST['vd'];
if(isset($_POST['form_submit']))
{
$query = "INSERT INTO employee_performance (id, empcode,review_emp_id,subject_matter,quality_of_delivery,team_player,value_added) VALUES ('$pid', '$ecode', '$rcode', '$dk', '$qd', '$tp', '$vd')";
$sql = mysql_query($query);
}
?>
为什么要像这样的数组一样插入它?它没有任何意义吗?而$sql
既是查询又是查询本身的执行。
答案 1 :(得分:0)
亲爱的你使用的是简单的单维数组,不需要使用foreach循环,因为它会一次选择一个值,并且只会在数据库中插入一个值,然后就不能在同一个值中插入值行。 就这样做......
if(isset($_POST['form_submit'])){
$requester=new performance();
$requester->addRow($_POST); // $_POST is itself an associative array
}
class performance extends DataAccess
{
{
$this->obj= new DataAccess;
}
function addRow($valArr)
{
extract($valArr);
$sql= INSERT INTO employee_performance (id, empcode,review_emp_id, subject_matter,quality_of_delivery, team_player,value_added)
VALUES('$pid' , '$ecode'...'$vd');
$sql=mysql_query($sql);
}
}
答案 2 :(得分:-1)
像这样写
function addRow($valArr)
{
$values = implode(',',array_values($valArr));
$sql= "INSERT INTO employee_performance (id, empcode, review_emp_id, subject_matter, quality_of_delivery, team_player,value_added) VALUES($values)";
$sql=mysql_query($sql);
}