Задать вопрос

Как работать с .db таблицами?

Здравствуйте.
Суть такая. Хочу использовать бд в файле datebase.db
Не сталкивался с этим и проблемы выползли на ранней стадии. Нужен определенный файл datebase.db?
Я создал пустой. Подключился так:
try {
$db = new PDO("sqlite:database.db");
}
catch(PDOException $e) {
    echo "Нет соединения с базой данных";
}


Дальше мне надо создать таблицу одну. И заполнять ее.
Я ввожу следующее:
$rows = $db->exec("CREATE TABLE `testing`(
		id INT PRIMARY KEY AUTO_INCREMENT,
		fname VARCHAR(20) NOT NULL DEFAULT '',
		email VARCHAR(50) NOT NULL DEFAULT '',
		money INT NOT NULL DEFAULT 0) ENGINE=InnoDB;");

$rows = $db->exec("INSERT INTO `testing` VALUES
		(null, 'Ivan', 'ivan@test.com', 15000),
		(null, 'Petr', 'petr@test.com', 411000),
		(null, 'Vasiliy', 'vasiliy@test.com', 1500000)
		");

И все. Ни чего не происходит.
Подскажите пожалуйста, как создать таблицу в файле.
  • Вопрос задан
  • 2442 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
ENGINE=InnoDB в вашем запросе относится к СУБД MySQL. В Sqlite такого не существует.
Вообще, неплохо было бы включить корректную обработку ошибок, например, так:
try {
    $dbh = new PDO("sqlite:database.db");
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $rows = $dbh->exec("...");
} catch (PDOException $e) {
    echo 'Error: ' . $e->getMessage();
}


Ну и вообще воспользуйтесь SQLite3, если у вас PHP >=5.3
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
deadbyelpy
@deadbyelpy
веб-шмеб
А что ожидаете?? Что должно происходить??
Серьезно, если это весь код что у вас есть то ничего у вас в выводе не будет, если же беда в том что файл не создается, вероятно у вас нет прав на его создание. Наибольшей проблемой для вас будут права, остальное будет в выводе, если он у вас настроен.
Ответ написан
Комментировать
Lerg
@Lerg
Defold, Corona, Lua, GameDev
Одна из проблем это то, что вы создаёте базу данных SQLite, а синтаксис запросов пытаетесь использовать для MySQL.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы