0

Is it possible that a MySQL query could be too long and causes some problems?

I want to save into a database the browser_version and platform and user_agent, etc., from a user.

I use this PHP class and have this code:

include_once('database_connect.php');
include_once('clean.php');
include_once('class.browserversion.php');

$browser = new Browser();
$browser_name = clean($browser->getBrowser());
$browser_version = clean($browser->getVersion());
$browser_platform = clean($browser->getPlatform());
$browser_is_mobile = clean($browser->isMobile());
$browser_user_agent = clean($browser->getUserAgent());

if($browser_is_mobile == FALSE):
    $browser_is_mobile = 0;
elseif($browser_is_mobile == TRUE):
    $browser_is_mobile = 1;
endif;

$qry = "INSERT INTO map_user_browser (user_id, browser_name, browser_version, browser_platform, browser_is_mobile, browser_user_agent) VALUES('".$user_id."', '".$browser_name."', '".$browser_version."', '".$browser_platform.", '".$browser_is_mobile."', '".$browser_user_agent."'";
$result = @mysql_query($qry) or die(mysql_error());

I always get en error which says 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 '0', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, l' at line 1

But when I make several queries for each field everything works. What could be wrong?

Community
  • 1
  • 1
John Brunner
  • 2,842
  • 11
  • 44
  • 85

1 Answers1

1

Try this:

$qry = "INSERT INTO map_user_browser (user_id, browser_name, browser_version, ".
"browser_platform, browser_is_mobile, browser_user_agent) VALUES('".$user_id."', ".
"'".$browser_name."', '".$browser_version."', '".$browser_platform."', ".
"'".$browser_is_mobile."', '".$browser_user_agent."')";

You missed ' after $browser_platform and ")" at the end of query.