问题是我的函数 insert 将我的记录插入两行。
这是我的代码,用于连接到名为 :
的文件中的数据库connect.php
<?php
try{
$db = new PDO("mysql:host=localhost;dbname=NPD" , "root" , "");
echo "connected";
}
catch(Exception $e){
echo $e->getMessage();
}
这是我在文件中的数据库类
数据库.php
<?php
require 'connect.php';
class DB {
public function insertInto($tableName , $info){
global $db;
foreach ($info as $coloumnName => $coloumnValue) {
$stmt = $db->prepare("INSERT INTO $tableName ($coloumnName) VALUES ('$coloumnValue') ");
$stmt->execute();
}
}
}
$da = new DB;
$da->insertInto('tableOne',array('name' => 'lolo' , 'deg' => '100'));
数据库中的结果是: tableOne
如何让insert函数将我的记录插入一行。
注意:我想插入任意数量的列和值。
最佳答案
尝试做这样的事情:
$arr = array('name' => 'lolo' , 'deg' => '100');
$columns=array_keys($arr);
$values=array_values($arr);
$str="INSERT INTO $tableName (".implode(',',$columns).") VALUES ('" . implode("', '", $values) . "' )";
echo $str;//your sql
// $stmt = $db->prepare($str);
// $stmt->execute();//uncomment to execute
关于php - 如何在数据库类中创建插入函数以插入具有多个列和多个值的新记录(使用 PDO )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33694120/