php - 如何在数据库类中创建插入函数以插入具有多个列和多个值的新记录(使用 PDO )?

标签 php mysql pdo

问题是我的函数 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/

相关文章:

php - mySQL 查询被搞乱了

php - Laravel 5.5 用户模型和好友关系(belongsToMany)由多列组成

java - 无法将textView文本从MainActivity(第一个 Activity )传递到UserprofileActivity(第二个 Activity )

php - 使用 php 脚本连接到数据库,但没有返回任何值

php - 确定用户输入的值是否已存在于 mysql 和 php 的登录页面

php - Yii2:ActiveQuery 可以返回以 SQL 查询的第一列为键的数组吗?

php - 用户已登录,但未重定向

php - 在 PHP 中将 PNG 置于 JPG 之上

php - 需要重新审视 mysql 查询语句

php - 对于多服务器数据库系统,我们应该使用什么连接类型(mysql_connect、mysql_pconnect、PDO)?