为什么不能用 PDO 创建 sqlite 数据库?
Why can't create the sqlite db with PDO?
我在debian7.
<?php
echo "creating a databse \n";
try {
$dbh=new PDO('sqlite:voting.db');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->exec('
CREATE TABLE tally(
QID varchar(32) NOT NULL,
AID integer NOT NULL,
votes integer NOT NULL,
PRIMARY KEY(QID,AID)
)');
} catch (Exception $e) {
echo "error!!:$e";
exit;
}
echo "db created successfully!";
?>
我想用代码创建我的 sqlite 数据库 voting.db
,它 运行 跨越错误信息:
creating a databse error!!:exception 'PDOException' with message 'could not find driver' in /var/www/sqlite1.php:4
Stack trace: #0 /var/www/sqlite1.php(4):
PDO->__construct('sqlite:voting.d...') #1 {main}
如何解决?
您没有 PDO sqlite 扩展,因为它没有安装and/or因为它没有启用。
在 ArchLinux 上:
su
pacman -S php-sqlite
sed -i 's|.*\(extension.*pdo.*sqlite.*\)||' /etc/php/php.ini
在 Debian 上,您应该执行类似的步骤。我认为以下命令应该足够了:
su -c 'apt-get install php5-sqlite'
我在debian7.
<?php
echo "creating a databse \n";
try {
$dbh=new PDO('sqlite:voting.db');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->exec('
CREATE TABLE tally(
QID varchar(32) NOT NULL,
AID integer NOT NULL,
votes integer NOT NULL,
PRIMARY KEY(QID,AID)
)');
} catch (Exception $e) {
echo "error!!:$e";
exit;
}
echo "db created successfully!";
?>
我想用代码创建我的 sqlite 数据库 voting.db
,它 运行 跨越错误信息:
creating a databse error!!:exception 'PDOException' with message 'could not find driver' in /var/www/sqlite1.php:4
Stack trace: #0 /var/www/sqlite1.php(4):
PDO->__construct('sqlite:voting.d...') #1 {main}
如何解决?
您没有 PDO sqlite 扩展,因为它没有安装and/or因为它没有启用。
在 ArchLinux 上:
su
pacman -S php-sqlite
sed -i 's|.*\(extension.*pdo.*sqlite.*\)||' /etc/php/php.ini
在 Debian 上,您应该执行类似的步骤。我认为以下命令应该足够了:
su -c 'apt-get install php5-sqlite'