This is a discussion on About Buggy SQL Query within the PHP General forums, part of the PHP Programming Forums category; mySQL database becomes inaccessible after a buggy sql string gets queried. The SQL server runs fine, however it seems like ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
mySQL database becomes inaccessible after a buggy sql string gets queried.
The SQL server runs fine, however it seems like just the database is being looped infinitely so to say. Here is an example: (PHP) $sql = "SELECT * FROM DB_TABLE WHERE PR_NUMBER = $whatever, DFLJJ = $SD;LOOE"; (<-- invalid sql query string) mysql_query($sql); When this query string is queried during the (webpage) loading process, the webpage just gets timed out without any error nor warning messages. Does anyone know if there is a certain way to prevent mysql database from stalling due to buggy sql strings? |
|
|||
|
Kelvin Park wrote:
> mySQL database becomes inaccessible after a buggy sql string gets queried. > The SQL server runs fine, however it seems like just the database is being > looped infinitely so to say. > Here is an example: > > (PHP) > $sql = "SELECT * FROM DB_TABLE WHERE PR_NUMBER = $whatever, DFLJJ = > $SD;LOOE"; (<-- invalid sql query string) > mysql_query($sql); > > When this query string is queried during the (webpage) loading process, the > webpage just gets timed out without any error nor warning messages. > > Does anyone know if there is a certain way to prevent mysql database from > stalling due to buggy sql strings? use mysql_real_escape_string to stop it from happening. -- Postgresql & php tutorials http://www.designmagick.com/ |
|
|||
|
Chris wrote:
> Kelvin Park wrote: >> mySQL database becomes inaccessible after a buggy sql string gets >> queried. >> The SQL server runs fine, however it seems like just the database is >> being >> looped infinitely so to say. >> Here is an example: >> >> (PHP) >> $sql = "SELECT * FROM DB_TABLE WHERE PR_NUMBER = $whatever, DFLJJ = >> $SD;LOOE"; (<-- invalid sql query string) >> mysql_query($sql); >> >> When this query string is queried during the (webpage) loading >> process, the >> webpage just gets timed out without any error nor warning messages. >> >> Does anyone know if there is a certain way to prevent mysql database >> from >> stalling due to buggy sql strings? > > use mysql_real_escape_string to stop it from happening. > Thanks, I looked over some comments posted on the PHP library web site under mysql_real_escape_string function. I didn't realize it is also used to aid sql injection prevention. |
|
|||
|
What is in $SD?
And are you using mysql_real_escape_string on all values? On Mon, August 13, 2007 11:31 pm, Kelvin Park wrote: > mySQL database becomes inaccessible after a buggy sql string gets > queried. > The SQL server runs fine, however it seems like just the database is > being > looped infinitely so to say. > Here is an example: > > (PHP) > $sql = "SELECT * FROM DB_TABLE WHERE PR_NUMBER = $whatever, DFLJJ = > $SD;LOOE"; (<-- invalid sql query string) > mysql_query($sql); > > When this query string is queried during the (webpage) loading > process, the > webpage just gets timed out without any error nor warning messages. > > Does anyone know if there is a certain way to prevent mysql database > from > stalling due to buggy sql strings? > -- Some people have a "gift" link here. Know what I want? I want you to buy a CD from some indie artist. http://cdbaby.com/browse/from/lynch Yeah, I get a buck. So? |
|
|||
|
Chris wrote:
> Kelvin Park wrote: >> mySQL database becomes inaccessible after a buggy sql string gets >> queried. >> The SQL server runs fine, however it seems like just the database is >> being >> looped infinitely so to say. >> Here is an example: >> >> (PHP) >> $sql = "SELECT * FROM DB_TABLE WHERE PR_NUMBER = $whatever, DFLJJ = >> $SD;LOOE"; (<-- invalid sql query string) >> mysql_query($sql); >> >> When this query string is queried during the (webpage) loading >> process, the >> webpage just gets timed out without any error nor warning messages. >> >> Does anyone know if there is a certain way to prevent mysql database >> from >> stalling due to buggy sql strings? > > use mysql_real_escape_string to stop it from happening. > I've tried the mysql_real_escape_string, however it seemed like it was working well at first, but the problem is that when I do the following query, the database crashes: $query = "SELECT * FROM PRODUCT_TABLE WHERE MATCH (product, description) AGAINST('whatever') OR MATCH(categoryname) AGAINST('whatever')"; It seems like putting two match functions in the same query might have caused the crash. My question is, how could I immediately just have one of my databases in the Database Server restarted (w/o affecting any of the data)? |
|
|||
|
Kelvin Park wrote:
> Chris wrote: >> Kelvin Park wrote: >>> mySQL database becomes inaccessible after a buggy sql string gets >>> queried. >>> The SQL server runs fine, however it seems like just the database is >>> being >>> looped infinitely so to say. >>> Here is an example: >>> >>> (PHP) >>> $sql = "SELECT * FROM DB_TABLE WHERE PR_NUMBER = $whatever, DFLJJ = >>> $SD;LOOE"; (<-- invalid sql query string) >>> mysql_query($sql); >>> >>> When this query string is queried during the (webpage) loading >>> process, the >>> webpage just gets timed out without any error nor warning messages. >>> >>> Does anyone know if there is a certain way to prevent mysql database >>> from >>> stalling due to buggy sql strings? >> >> use mysql_real_escape_string to stop it from happening. >> > I've tried the mysql_real_escape_string, however it seemed like it was > working well at first, but the problem is that when I do the following > query, the database crashes: > > $query = "SELECT * FROM PRODUCT_TABLE WHERE MATCH (product, description) > AGAINST('whatever') OR MATCH(categoryname) AGAINST('whatever')"; > > It seems like putting two match functions in the same query might have > caused the crash. Why are they separate? Just include another field in the first match part. If that's not an option, union the results: select * from table where match(product) against('whatever') union all select * from table where match(categoryname) against('whatever') See http://dev.mysql.com/doc/refman/4.1/en/union.html -- Postgresql & php tutorials http://www.designmagick.com/ |