Jump to content

Handling select unescaped insert data in mysqli


kutchbhi

Recommended Posts

So I have an old bit of database that is inserting data into a table unescaped. Which means quotes are unescaped.

 

Now I have to do a select with a LIKE comparison on the  data. But since the data in the table isn't escaped, I get no match if I escape the data while selecting. 

Basically the LIKE comparison takes place between "Tom Clancy's: Splinter Cell%" and "Tom Clancy's: Splinter Cell%"

 

Now I am not sure how to handle this . Any suggestions please ? 

$escapedTitle = $db_connection->escape_string($title) ;
$res = select_sql('products', "product_name LIKE  '" .$escapedTitle . "%' AND subtitle = '" . $db_connection->escape_string($sub) . "'  LIMIT 1") ;

Thanks

mysqli->escape_string() wont convert the quotes to  '  . Something else before hand is mostly likely converting your quotes to its html entity. Maybe try decoding the entities before escaping the title, eg

$escapedTitle = $db_connection->escape_string(html_entity_decode($title, ENT_QUOTES));

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.