? Quiero crear una clase que use PDO para interactuar con MySQL. ¿Puedo crear una nueva tabla MySQL usando PDO?¿Puedo crear una base de datos usando PDO en PHP
Respuesta
Sí, se puede.
La parte dsn
, que es el primer parámetro del constructor PDO, no tiene que tener un nombre de base de datos. Simplemente puede usar mysql:host=localhost
. Entonces, dado que tiene el privilegio correcto, puede usar el comando SQL regular para crear bases de datos y usuarios, etc.
El siguiente es un ejemplo de un install.php, inicia sesión con root, crea una base de datos, un usuario, y conceder al usuario todos los privilegios a la nueva base de datos creada:
<?php
$host="localhost";
$root="root";
$root_password="rootpass";
$user='newuser';
$pass='newpass';
$db="newdb";
try {
$dbh = new PDO("mysql:host=$host", $root, $root_password);
$dbh->exec("CREATE DATABASE `$db`;
CREATE USER '$user'@'localhost' IDENTIFIED BY '$pass';
GRANT ALL ON `$db`.* TO '$user'@'localhost';
FLUSH PRIVILEGES;")
or die(print_r($dbh->errorInfo(), true));
} catch (PDOException $e) {
die("DB ERROR: ". $e->getMessage());
}
?>
@thearchitect ¿Tan buena respuesta y no es aceptada? Me siento desanimado :( –
mis disculpas ..... no vi la respuesta hasta ahora – Xerri
Solo tenga en cuenta que en los planes de alojamiento de cPanel, no podrá ver su base de datos excepto mediante el uso de phpmyadmin o línea de comando - ganó aparece en cPanel en el panel de control "bases de datos MySQL" – Volomike
sí, es igual como ejecutar una consulta regular como "CREATE TABLE ..."
Al crear una conexión PDO, necesita asociar esa conexión con una base de datos ¿verdad? Me preguntaba si eso se puede evitar o si sería peligroso usar la base de datos predeterminada mysql o si sería mejor crear una base de datos vacía a la que se pueda conectar PDO. – Xerri
@Haim: ¿Cuál es el usuario root y la contraseña aquí? no es la identificación de usuario y la contraseña de mysql ¿verdad? – logan
- 1. cómo conectar una base de datos sqlite usando PHP?
- 2. ¿Cómo puedo obtener una lista de bases de datos MySQL en PHP usando PDO?
- 3. Error al crear una conexión a PDO en PHP
- 4. ¿Cómo selecciono una base de datos MySQL para usar con PDO en PHP?
- 5. PDO: no se puede crear la base de datos SQLite en la memoria
- 6. ¿Cómo puedo crear una base de datos PostgreSQL en Java?
- 7. ¿Cómo puedo crear una base de datos sqlite en memoria?
- 8. Usando LINQ to SQL para crear una base de datos
- 9. ¿Es posible crear una base de datos usando NHibernate?
- 10. Cómo crear una base de datos Esquema usando Hibernate
- 11. ¿Cómo se elimina una base de datos SQLite en memoria con PHP PDO?
- 12. Declaraciones preparadas de PHP PDO
- 13. ¿Cómo puedo volcar una base de datos MySQL usando hormiga?
- 14. Crear una nueva base de datos MySQL usando Workbench
- 15. usando msbuild para crear una base de datos sql
- 16. ¿Cómo crear una nueva base de datos usando SQLAlchemy?
- 17. PDO lastInsertId(); problema php
- 18. Desventajas de PDO (objetos de datos PHP)
- 19. ¿Crear una base de datos desde otra base de datos?
- 20. ¿Cómo puedo obtener los valores posibles enum en una base de datos MySQL usando php?
- 21. ¿Cómo puedo crear una base de datos utilizando pymssql
- 22. ¿Equivalente de mysql_list_tables en PHP PDO?
- 23. Crear base de datos usando script en la ruta predeterminada?
- 24. PHP PDO y MySQLi
- 25. Crear usuario y base de datos MySQL desde PHP
- 26. No puedo conectarme al servidor MySQL usando PDO
- 27. ¿Cómo puedo usar y acceder a una base de datos SQLite usando PHP y Wamp Server?
- 28. PHP PDO para Dummies
- 29. ¿Cómo inserto múltiples registros en un viaje de base de datos usando PDO?
- 30. ¿Cómo crear una tabla en una base de datos particular?
el título habla de crear una base de datos, pero se pregunta habla de la creación de una mesa. Estas son dos cosas muy, muy diferentes. – Mawg