插入数据库并不起作用

时间:2018-05-30 03:42:45

标签: php pdo

我试图尽可能地简化这一点,只是为了了解发生了什么,但它仍然无法正常工作。它没有显示任何错误,但没有任何内容添加到数据库中。

引导程序文件:

class Connection {
    public static function make($config){
        return new PDO(
            $config['connection'].';dbname='.$config['name'],
            $config['username'], $config['password'], $config['options']
        );  
    }
}

class QueryBuilder {
    protected $pdo;

    public function __construct($pdo){
        $this->pdo = $pdo;
    }

    public function insert($table, $paramater, $value){     
        $statement = $this->pdo->prepare("insert into $table ($paramater) values($value)");
        $statement->execute();
    }
}

return new QueryBuilder(Connection::make($config['database']));

发布请求后的其他文件:

$query = require 'bootstrap.php';

$query->test('todos', 'description', 'lorem ipsum');

我的$config数组就是这个

return [
  'database' => [
    'name' => 'mytodo', 
    'username' => 'root', 
    'password' => '', 
    'connection' => 'mysql:host=ip', 
    'options' => [ ] 
  ]
]; 

1 个答案:

答案 0 :(得分:0)

根据http://php.net/manual/en/pdo.connections.php的手册,您的连接字符串丢失了" mysql:"。

尝试:

return new PDO("mysql:".$config['connection']

另外,尝试在它周围放置一个try-catch块,并显示它可能抛出的异常消息。