我试图尽可能地简化这一点,只是为了了解发生了什么,但它仍然无法正常工作。它没有显示任何错误,但没有任何内容添加到数据库中。
引导程序文件:
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' => [ ]
]
];
答案 0 :(得分:0)
根据http://php.net/manual/en/pdo.connections.php的手册,您的连接字符串丢失了" mysql:"。
尝试:
return new PDO("mysql:".$config['connection']
等
另外,尝试在它周围放置一个try-catch块,并显示它可能抛出的异常消息。