Jump to content

[SOLVED] MYSQL errors


darkfreaks

Recommended Posts

i get an error like " unscaped t string on line 1 at (-10,10)"

 

i found the second part is a math function for the guestbook pages.

 

so i assume something is wrong with the way its setup in the SQL statement.

 

if anyone can point this out id appreciate it.

 

 

 $query = "SELECT id, name, email, url, message, DATE_FORMAT(entry_date, '%d.%m.%Y') ".
         "FROM guestbook ".
	 "ORDER BY id DESC ".            // using ORDER BY to show the most current entry first
	 "LIMIT $offset, $rowsPerPage";  // LIMIT is the core of paging

Link to comment
https://forums.phpfreaks.com/topic/59329-solved-mysql-errors/
Share on other sites

also i fixed some stuff and removed the dots and made it one statement.

 

 

now i get

 

 

 

 

Error, query failed. 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 '-10, 10' at line 1

 

 

im thinking it has to do with the variables in the limit pat.

Link to comment
https://forums.phpfreaks.com/topic/59329-solved-mysql-errors/#findComment-295010
Share on other sites

Before you execute the query... echo it! eg;

 

$query = "SELECT id, name, email, url, message, DATE_FORMAT(entry_date, '%d.%m.%Y') ".
        "FROM guestbook ".
	 "ORDER BY id DESC ".            // using ORDER BY to show the most current entry first
	 "LIMIT $offset, $rowsPerPage";  // LIMIT is the core of paging
die($query);

 

Post the results here, don't just tell us what you think we need to know.

Link to comment
https://forums.phpfreaks.com/topic/59329-solved-mysql-errors/#findComment-295025
Share on other sites

<?php
// include the database configuration and
// open connection to database
include 'connect.php';
include 'connect.php';



// check if the form is submitted
if(isset($_POST['btnSign']))
{
// get the input from $_POST variable
// trim all input to remove extra spaces
$name    = trim($_POST['txtName']);
$email   = trim($_POST['txtEmail']);
$url     = trim($_POST['txtUrl']);
$message = trim($_POST['mtxMessage']);

// escape the message ( if it's not already escaped )
if(!get_magic_quotes_gpc())
{
	$name    = addslashes($name);
	$message = addslashes($message);
}

// if the visitor do not enter the url
// set $url to an empty string
if ($url == 'http://')
{
	$url = '';
}

// prepare the query string
$query = "INSERT INTO guestbook (name, email, url, message, entry_date) " .
         "VALUES ('$name', '$email', '$url', '$message', current_date)";

// execute the query to insert the input to database
// if query fail the script will terminate		 
mysql_query($query) or die('Error, query failed. ' . mysql_error());

// redirect to current page so if we click the refresh button 
// the form won't be resubmitted ( as that would make duplicate entries )
header('Location: ' . $_SERVER['REQUEST_URI']);

// force to quite the script. if we don't call exit the script may
// continue before the page is redirected
exit;
}
?>
<html>
<head>
<title>Guestbook</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="styles/styles.css">
<script language="JavaScript">
/*
This function is called when
the 'Sign Guestbook' button is pressed
Output : true if all input are correct, false otherwise
*/
function checkForm()
{
// the variables below are assigned to each
// form input 
var gname, gemail, gurl, gmessage;
with(window.document.guestform)
{
	gname    = txtName;
	gemail   = txtEmail;
	gurl     = txtUrl;
	gmessage = mtxMessage;
}

// if name is empty alert the visitor
if(trim(gname.value) == '')
{
	alert('Please enter your name');
	gname.focus();
	return false;
}
// alert the visitor if email is empty or the format is not correct 
else if(trim(gemail.value) != '' && !isEmail(trim(gemail.value)))
{
	alert('Please enter a valid email address or leave it blank');
	gemail.focus();
	return false;
}
// alert the visitor if message is empty
else if(trim(gmessage.value) == '')
{
	alert('Please enter your message');
	gmessage.focus();
	return false;
}
else
{
	// when all input are correct 
	// return true so the form will submit		
	return true;
}
}

/*
Strip whitespace from the beginning and end of a string
Input  : a string
Output : the trimmed string
*/
function trim(str)
{
return str.replace(/^\s+|\s+$/g,'');
}

/*
Check if a string is in valid email format. 
Input  : the string to check
Output : true if the string is a valid email address, false otherwise.
*/
function isEmail(str)
{
var regex = /^[-_.a-z0-9]+@(([-a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
return regex.test(str);
}
</script>
</head>
<body>
<form method="post" name="guestform">
<table width="550" border="0" cellpadding="2" cellspacing="1">
  <tr> 
   <td width="100">Name *</td> <td> 
    <input name="txtName" type="text" id="txtName" size="30" maxlength="30"></td>
</tr>
  <tr> 
   <td width="100">Email</td>
   <td> 
    <input name="txtEmail" type="text" id="txtEmail" size="30" maxlength="50"></td>
</tr>
  <tr> 
   <td width="100">Website URL</td>
   <td> 
    <input name="txtUrl" type="text" id="txtUrl" value="http://" size="30" maxlength="50"></td>
</tr>
  <tr> 
   <td width="100">Message *</td> <td> 
    <textarea name="mtxMessage" cols="80" rows="5" id="mtxMessage"></textarea></td>
</tr>
  <tr> 
   <td width="100"> </td>
   <td> 
    <input name="btnSign" type="submit" id="btnSign" value="Sign Guestbook" onClick="return checkForm();"></td>
</tr>
</table>
</form>
<br>
<br>
<?php


// =======================
// Show guestbook entries
// =======================

// how many guestbook entries to show per page
$rowsPerPage = 10;

// by default we show first page
$pageNum = 1;

// if $_GET['page'] defined, use the value as page number
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}

// counting the offset ( where to start fetching the entries )
$offset = ($pageNum - 1) * $rowsPerPage;

// prepare the query string
$query = "SELECT* 
         FROM guestbook (id, name, email, url, message, DATE_FORMAT(entry_date, '%d.%m.%Y'))
	 ORDER BY id DESC             
	 LIMIT $offset, $rowsPerPage"; 

// execute the query 
$result = mysql_query($query) or die('Error, query failed. ' . mysql_error());

// if the guestbook is empty show a message
if(mysql_num_rows($result) == 0)
{
?>
<p><br>
<br>Guestbook is empty </p>
<?php
}
else
{
// get all guestbook entries
while($row = mysql_fetch_array($result))
{
	// list() is a convenient way of assign a list of variables
	// from an array values 
	list($id, $name, $email, $url, $message, $date) = $row;

	// change all HTML special characters,
	// to prevent some nasty code injection
	$name    = htmlspecialchars($name);
	$message = htmlspecialchars($message);		

	// convert newline characters ( \n OR \r OR both ) to HTML break tag ( <br> )
	$message = nl2br($message);
?>
<table width="550" border="1" cellpadding="2" cellspacing="0">
<tr> 
  <td width="80" align="left"> <a href="mailto:<?=$email;?>" class="email"> 
   <?=$name;?>
   </a> </td>
  <td align="right"><small> 
   <?=$date;?>
   </small></td>
</tr>
<tr> 
  <td colspan="2"> 
   <?=$message;?>
   <?php
   		// if the visitor input her homepage url show it
	if($url != '')
	{   
		// make the url clickable by formatting it as HTML link
		$url = "<a href='$url' target='_blank'>$url</a>";
?>
   <br> <small>Homepage : <?=$url;?></small> 
   <?php
	}
?>
  </td>
</tr>
</table>
<br>
<?php
} // end while

// below is the code needed to show page numbers

// count how many rows we have in database
$query   = "SELECT COUNT(id) AS numrows FROM guestbook";
$result  = mysql_query($query) or die('Error, query failed. ' . mysql_error());
$row     = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];

// how many pages we have when using paging?
$maxPage  = ceil($numrows/$rowsPerPage);
$nextLink = '';

// show the link to more pages ONLY IF there are 
// more than one page
if($maxPage > 1)
{
// this page's path
$self     = $_SERVER['PHP_SELF'];

// we save each link in this array
$nextLink = array();

// create the link to browse from page 1 to page $maxPage
for($page = 1; $page <= $maxPage; $page++)
{
	$nextLink[] =  "<a href=\"$self?page=$page\">$page</a>";
}

// join all the link using implode() 
$nextLink = "Go to page : " . implode(' » ', $nextLink);
}

// close the database connection since
// we no longer need it
include 'conect.php';

?>
<table width="550" border="0" cellpadding="2" cellspacing="0">
<tr> 
  <td align="right" class="text"> 
   <?=$nextLink;?>
  </td>
</tr>
</table>
<?php
}
?>
</body>
</html>

Link to comment
https://forums.phpfreaks.com/topic/59329-solved-mysql-errors/#findComment-295032
Share on other sites

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.