Hi Mark
Thanks for the detailed response and explanation, it makes things a lot clearer. However, I can't see how I can get non-query results back from the MySQL server. In particular, I want to get a list of current databases, but when I use (from Sarah's suggestion):
put "root" into dbUser put "mysql" into dbName put "localhost" into dbAddr put "" into dbPass -- no password for root as yet
put revOpenDatabase("MySQL",dbAddr,dbName,dbUser,dbPass) into dbresult
if dbResult is not a number then
answer error dbResult as sheet
exit to top
end if
put dbResult into dbIDput "SHOW DATABASES" into dbSQL revExecuteSQL dbID, dbSQL put the result into sqlResult
the result is empty even though there are 4 databases and I establish the connection on localhost using the root account. (I can confirm that the 4 databases exist and can be seen using root with no password by using phpMyAdmin). I'm doing this early development on the same system as the MySQL server and so your comment about remote use of the root account isn't relevant as yet.
Cheers
Peter
The client/server aspect of MySQL and similar databases is all encapsulated in the revOpenDatabase function - and there is no difference utilising the database functions whether you specify 'localhost' as the address or an IP address of a remote machine - the underlying database libraries take care of all the nitty-gritty of sending commands and receiving data.
The only requirement that Revolution puts upon you when connecting is that you have to connect to an existing database (you can't have a database-less connection) - but this isn't an issue because all MySQL databases have a 'mysql' database in which all the meta-data is stored. (Or you can just create a dummy database to connect to)
Once you have connected, you can issue any SQL command you require - assuming the user you connected to the database with has appropriate privileges (MySQL has a reasonable fine-grained set of these).
In particular, Sarah's suggestion is probably the best way to create databases - however, as I recall, the default setup of MySQL prohibits access to the root user from anywhere but 'localhost' - so you will probably want to set up another user, usable more widely and endowed with 'create database' permissions.
The thing to remember about SQL is that it is 'closed' in the sense that everything that the databases allow you to do can be done in SQL and uses the standard database abstractions of cursors, tables and columns.
For example, MySQL has a 'SHOW DATABASES' command that will return a table with one column ('Databases') containing the list of databases visible to the current user. Analogously, there is a 'SHOW TABLES' command that returns a list of tables in the current database.
Similarly there are commands such as 'GRANT' and 'REVOKE' (with suitable unrememberable subsequent syntax) for granting and revoking access permissions for users.
Warmest Regards,
Mark.
-- Peter Reid Reid-IT Limited, Loughborough, Leics., UK E-mail: [EMAIL PROTECTED] _______________________________________________ use-revolution mailing list [email protected] http://lists.runrev.com/mailman/listinfo/use-revolution
