You are here: Re: [PHP] novice: how to run .sql script from php? « PHP « IT news, forums, messages
Re: [PHP] novice: how to run .sql script from php?

Posted by Rory Browne on 11/26/74 11:17

On 5/29/05, tony yau <tony.yau@emigen.co.uk> wrote:
>
> I realised that there is a fundamental problem with using mysql_query( ....)
> to run a .sql script to setup a database, and that was the database needs to
> be there in the first place for php to connect to! also there was a lot of
> comment lines in the script that was causing problem. ... so I gave up
> trying to parse the file.
Umm, I suggest you read an awful lot more on mysql. I could be wrong
on this, but I can't at face value see anything wrong with
mysql_query("create database database_name"); mysql_query("use
database_name"). Your problem seems to be your lack of knowledge
regarding mysql, and using mysql from PHP.

>
> instead I did this
> 1) create the database with phpmyadmin etc
> 2) remove (by hand) all comment lines from the .sql file
> and then include the file
>
> ob_start();
> include 'installation.sql';
> $contents = ob_get_contents();
> ob_end_clean();
> execQuery($contents);

> ob_start();
> include 'installation.sql';
> $contents = ob_get_contents();
> ob_end_clean();

is spagetti code. use $contents = file_get_contents("installation.sql") instead.


is a bad way of writing that: $contents =
file_get_contents("installation.sql"). Where did you get the
execQuery() from? If you have an execQuery() function that allows you
to do multiple queries seperated by semicolons, then you're sorted. 1


>
> not very good but does the job.
> thanks for all the help
>
> tony yau
>
> "Rory Browne" <rory.browne@gmail.com> wrote in message
> news:fa07888a05052708047a67ac54@mail.gmail.com...
> I'm assuming that the .sql file consists of a list of MySQL queries,
> that when performed sequentially will set up your system.
>
> That being the case, the perfered way ot install the thing is to do a
> 'mysql [host/username/password parameters] < file.sql'.
>
> I believe you can also run file.sql scripts using phpMyAdmin.
>
> If you were to define a mysql_run_script() function, it would look a
> bit like the following:
>
> <?pseudo_code
>
> function mysql_run_script($file){
>
> $sql = file_get_contents($file);
>
> $queries = split_sql_into_individual_sql_queries($sql);
>
> foreach($queries as $query){
> mysql_query($query);
> }
>
> }
>
> ?>
>
> Come to think of it, you could turn the above pseudo code into valid
> php code, by defining the split_sql_into_individual_sql_queries()
> function. This would involve splitting by ';', taking into account the
> possibility that ';' may occur in the middle of a string.
>
> Check out the code for phpmyadmin, or phpbb(db backup/recover
> feature), for a better idea.
>
> On 5/27/05, tony yau <tony.yau@emigen.co.uk> wrote:
> > Hi All,
> >
> > I got this .sql script that setup the whole db schema, I can run
> > mysql.exe to run on my pc but when it goes to a hosting company's server I
> > don't have that command!
> >
> > So I tried to include("setup.sql") into a string and send that as one
> > long sql query. BUT I need to get rid of all the comment lines first in
> the
> > script!!
> >
> > can someone give me a better idea of doing this.
> > (there must be an equivalent php function like
> > mysql_run_script("setup.sql"))
> >
> >
> > thanks
> > --
> > Tony Yau
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация