Hello, Here's the procedural code. Surely it's possible to create a MySQL function through the API? $link = mysql_connect('localhost', 'root', 'pass'); mysql_select_db( 'test' ); $ret = mysql_query( 'DELIMITER $$ DROP FUNCTION IF EXISTS `anti_space`$$ CREATE FUNCTION `anti_space` ( inString VARCHAR(1000), replaceThis VARCHAR(1000), replaceWith VARCHAR(1000) ) RETURNS VARCHAR(1000) DETERMINISTIC BEGIN DECLARE _outString VARCHAR(1000) DEFAULT TRIM(inString); DECLARE _length INT DEFAULT LENGTH(_outString); DECLARE _doneLoop BOOLEAN DEFAULT FALSE; DECLARE _lengthNext INT DEFAULT 0; IF ( _length != 0 ) THEN WHILE (! _doneLoop AND _length != 0 ) DO SET _outString = REPLACE( _outString, replaceThis, replaceWith ); SET _lengthNext = LENGTH(_outString); SET _doneLoop = (_lengthNext = _length); SET _length = _lengthNext; END WHILE; END IF; RETURN _outString; END$$ DELIMITER ;', $link ); if( !$ret ) echo mysql_error($link); exit; output: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER $$ DROP FUNCTION IF EXISTS `anti_space`$$ CREATE FUNCTION `anti_spac' at line 1 I've tried putting the delimiter call in it's own query() call, but no luck so far. Thanks, Andy 2008/10/8 Chris <dmagick@xxxxxxxxx>: > Andrew Martin wrote: >> >> Hello, >> >> Is it possible to create a mysql function from php, or is it command line >> only? >> >> $db = get_db(); >> >> $a = $db->query( "DELIMITER $$ " ); >> echo $db->error; >> // You have an error in your SQL syntax; check the manual that >> corresponds to your MySQL server version for the right syntax to use >> near 'DELIMITER $$' at line 1 >> $a = $db->query( " >> DROP FUNCTION IF EXISTS `anti_space`$$ >> CREATE FUNCTION `anti_space` ( >> inString VARCHAR(1000), >> replaceThis VARCHAR(1000), >> replaceWith VARCHAR(1000) >> ) >> // You have an error in your SQL syntax; check the manual that >> corresponds to your MySQL server version for the right syntax to use >> near '$$ CREATE FUNCTION `anti_space` ( inString VARCHAR(1000), >> replaceThis VARCHA' at line 1 > > What's your query method look like? > > What happens if you try using > > mysql_query($query); > > instead of $db->query($query) ? > > -- > Postgresql & php tutorials > http://www.designmagick.com/ > > -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php