terrysv1
asked on
PHP Insert Variables into database
I am trying to insert _SERVER date into a database. It is creating the visitors.html log page fine but I am getting the 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 (_SERVER data) '18-10-2007 10:41:45,,207.138.184.2,Mo zilla/4.0 (compatible; MSIE 7.0; Windows NT' at line 1"
When I put static values into the code, the INSERT works perfectly.
Here is the code:
<?php
define("DATE_FORMAT","d-m- Y H:i:s");
define("LOG_FILE","visitor s.html");
$logfileHeader='
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.d td">
<html>
<head>
<title>Visitors log</title>
<link href="style/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table cellpadding="0" cellspacing="1">
<tr><th>DATE</th><th>IP</t h><th>HOST NAME</th>< th>BROWSER </th><th>U RI</th><th >REFERRER< /th></tr>' ."\n";
$userAgent = (isset($_SERVER['HTTP_USER _AGENT']) && ($_SERVER['HTTP_USER_AGENT '] != "")) ? $_SERVER['HTTP_USER_AGENT' ] : "Unknown";
$userIp = (isset($_SERVER['REMOTE_AD DR']) && ($_SERVER['REMOTE_ADDR'] != "")) ? $_SERVER['REMOTE_ADDR'] : "Unknown";
$refferer = (isset($_SERVER['HTTP_REFE RER']) && ($_SERVER['HTTP_REFERER'] != "")) ? $_SERVER['HTTP_REFERER'] : "Unknown";
$uri = (isset($_SERVER['REQUEST_U RI']) && ($_SERVER['REQUEST_URI'] != "")) ? $_SERVER['REQUEST_URI'] : "Unknown";
$hostName = gethostbyaddr($userIp);
$actualTime = date(DATE_FORMAT);
$logEntry = " <tr><td>$actualTime</td><t d>$userIp< /td><td>$h ostName</t d><td>$use rAgent</td ><td>$uri< /td><td>$r efferer</t d></tr>\n" ;
if (!file_exists(LOG_FILE)) {
$logFile = fopen(LOG_FILE,"w");
fwrite($logFile, $logfileHeader);
}
else {
$logFile = fopen(LOG_FILE,"a");
}
fwrite($logFile,$logEntry) ;
fclose($logFile);
?>
<?php
$dbuser="username";
$dbpass="password";
$dbname="database"; //the name of the database
$chandle = mysql_connect("localhost", $dbuser, $dbpass)
or die("Connection Failure to Database");
mysql_select_db($dbname, $chandle) or die ($dbname . " Database not found. " . $dbuser);
// insert data into table
$query = mysql_query("INSERT INTO zptrack (date_time, ip, hostname, browser, uri, referrer) values ($actualTime, $userIP, $hostName, $userAgent, $uri, $refferer)") or die(mysql_error());
//$query = mysql_query("INSERT INTO zptrack (clinicid, date_time, ip, hostname, browser, uri, referrer) values ( 1,'1/1/1900','192.168.0.1' ,'192.168. 0.10','MSI E','someth ing.php',' index.php' )") or die(mysql_error());
?>
When I put static values into the code, the INSERT works perfectly.
Here is the code:
<?php
define("DATE_FORMAT","d-m-
define("LOG_FILE","visitor
$logfileHeader='
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.d
<html>
<head>
<title>Visitors log</title>
<link href="style/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table cellpadding="0" cellspacing="1">
<tr><th>DATE</th><th>IP</t
$userAgent = (isset($_SERVER['HTTP_USER
$userIp = (isset($_SERVER['REMOTE_AD
$refferer = (isset($_SERVER['HTTP_REFE
$uri = (isset($_SERVER['REQUEST_U
$hostName = gethostbyaddr($userIp);
$actualTime = date(DATE_FORMAT);
$logEntry = " <tr><td>$actualTime</td><t
if (!file_exists(LOG_FILE)) {
$logFile = fopen(LOG_FILE,"w");
fwrite($logFile, $logfileHeader);
}
else {
$logFile = fopen(LOG_FILE,"a");
}
fwrite($logFile,$logEntry)
fclose($logFile);
?>
<?php
$dbuser="username";
$dbpass="password";
$dbname="database"; //the name of the database
$chandle = mysql_connect("localhost",
or die("Connection Failure to Database");
mysql_select_db($dbname, $chandle) or die ($dbname . " Database not found. " . $dbuser);
// insert data into table
$query = mysql_query("INSERT INTO zptrack (date_time, ip, hostname, browser, uri, referrer) values ($actualTime, $userIP, $hostName, $userAgent, $uri, $refferer)") or die(mysql_error());
//$query = mysql_query("INSERT INTO zptrack (clinicid, date_time, ip, hostname, browser, uri, referrer) values ( 1,'1/1/1900','192.168.0.1'
?>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
define("DATE_FORMAT","Y-m-
and then:
$query = mysql_query("INSERT INTO zptrack (date_time, ip, hostname, browser, uri, referrer) values ('$actualTime', '$userIP', '$hostName', '$userAgent', '$uri', '$refferer')") or die(mysql_error());