Jump to content

[SOLVED] Need help with a code!


Chaori

Recommended Posts

I'm making an online text based game with a Latitude and Longitude movement system, and I'm quite n00b at PHP so I thought I'd ask here about an error I'm getting.

 

The code below should connect to MySQL, go to the Latitude and Longitude and add 1 to the Longitude.

<?php
$con = mysql_connect($CONFIG['server_ip'],$CONFIG['database_user'],$CONFIG['database_password']);
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql query ("UPDATE characters SET longitude=longitude+'1' WHERE account_id='$accid'");
?>
<meta http-equiv="Refresh"; URL=http://neverbeast.com/valdellaknights/main.php">

 

But I get the following error:

Parse error: syntax error, unexpected T_STRING in /hermes/bosweb/web008/b87/d5.beanonym/public_html/subdomain/Steve/neverbeast.com/valdellaknights/north.php on line 7

 

If anyone could tell me what's wrong I'd really appreciate it! Thanks in advance.

Link to comment
Share on other sites

Well I added a close connection, but the final thing is:

 

<?php
$con = mysql_connect($CONFIG['server_ip'],$CONFIG['database_user'],$CONFIG['database_password']);
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql query ("UPDATE characters SET longitude=longitude+1 WHERE account_id='$accid'");

mysql_close($con);
?>
<meta http-equiv="Refresh"; URL=http://neverbeast.com/valdellaknights/main.php">

 

All of my friends that know PHP can't find anything wrong with it either... It's really weird.

 

*EDIT*

$accid is already defined in the page that has the North button on it, so it shouldn't need to be defined again. And yes, same error as above.

Link to comment
Share on other sites

Try this:

 

<?php

//Will display all errors

ini_set("display_errors",1);

error_reporting(E_ALL);

//!!!---!!!

 

 

$con = mysql_connect($CONFIG['server_ip'],$CONFIG['database_user'],$CONFIG['database_password']);

if (!$con)

  {

  die('Could not connect: ' . mysql_error());

  }

mysql_query ("UPDATE characters SET longitude=longitude+'1' WHERE account_id='$accid'");

 

mysql_close($con);

?>

<meta http-equiv="Refresh"; URL=http://neverbeast.com/valdellaknights/main.php">

 

There was error in php code.

Link to comment
Share on other sites

Okay, the final code is below:

<?php
//Will display all errors
ini_set("display_errors",1);
error_reporting(E_ALL);
//!!!---!!!
$con = mysql_connect("beanonym.dot5hostingmysql.com","****","****");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db($CONFIG['database'], $con);
$accid = GETWHERE("account","account_id","account_name",$user,"0");
mysql query ("UPDATE characters SET longitude=longitude+1 WHERE account_id='$accid'");

mysql_close($con);
?>
<meta http-equiv="Refresh"; URL=http://neverbeast.com/valdellaknights/main.php">

 

And the error message is below:

Parse error: syntax error, unexpected T_STRING in /hermes/bosweb/web008/b87/d5.beanonym/public_html/subdomain/Steve/neverbeast.com/valdellaknights/north.php on line 13

 

edited: Don't post your username / passowrd combinations.

Link to comment
Share on other sites

Did you use Zend to create php code?

In previows post and in this post you have problem in mysql query function syntax.

 

you have forgot _  berween mysql and query.

 

your code

mysql query ("UPDATE characters SET longitude=longitude+1 WHERE account_id='$accid'");

change it to

mysql_query ("UPDATE characters SET longitude=longitude+1 WHERE account_id='$accid'");

Link to comment
Share on other sites

Okay I've re-done the whole script. Instead of having four different scripts for North, South, East and West, I've simply made a 'travel.php' in which each button redirects to.

 

<?php
$con = mysql_connect("beanonym.dot5hostingmysql.com","*****","******");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("steve", $con);

if($POST['north']){
$accid = GETWHERE("account","account_id","account_name",$user,"0");
mysql_query ("UPDATE characters SET longitude=longitude+1 WHERE account_id='$accid'");
} 
else if($post['west']){
$accid = GETWHERE("account","account_id","account_name",$user,"0");
mysql_query ("UPDATE characters SET latitude=latitude+1 WHERE account_id='$accid'");
}
else if($post['east']){
$accid = GETWHERE("account","account_id","account_name",$user,"0");
mysql_query ("UPDATE characters SET latitude=latitude-1 WHERE account_id='$accid'");
}

else if($post['south']){
$accid = GETWHERE("account","account_id","account_name",$user,"0");
mysql_query ("UPDATE characters SET longitude=longitude-1 WHERE account_id='$accid'");
}

mysql_close($con);
header("location: main.php");

?>

 

And I'm getting the following error:

 

Parse error: syntax error, unexpected T_STRING in /hermes/bosweb/web008/b87/d5.beanonym/public_html/subdomain/Steve/neverbeast.com/valdellaknights/travel.php on line 10

Link to comment
Share on other sites

I also have a 'functions.php' which has the following:

 

<?php
require_once 'config.php';
function Connect(){
global $CONFIG;
$con = mysql_connect($CONFIG['server_ip'],$CONFIG['database_user'],$CONFIG['database_password']) or die("Could not connect to MySQL.");
$db = mysql_select_db($CONFIG['database']) or die("Could not select database.");
}
function ADD($table,$field,$value){
mysql_query("INSERT INTO $table ($field) VALUES ('$value')");
}

function UPDATE($table,$field,$value){
mysql_query("UPDATE $table SET $field = '$value'");
}

function UPDATEWHERE($table,$field,$value,$where,$whereequals){
mysql_query("UPDATE $table SET $field = '$value' WHERE $where = '$whereequals'");
}


function GET($table,$field,$row){
$query = mysql_query("SELECT $field FROM $table");
$data = mysql_fetch_row($query);
$return = $data[$row];
return $return;
}

function GETWHERE($table,$field,$where,$whereequals,$row) {
$query = mysql_query("SELECT $field FROM $table WHERE $where ='$whereequals'");
$data = mysql_fetch_row($query);
$return = $data[$row];
return $return;
}
?>

Link to comment
Share on other sites

One more thing!

 

<?php
require 'functions.php';
connect();
$latitude = GETWHERE("characters","latitude","account_id","$accid","0");
$longitude = GETWHERE("characters","longitude","account_id","$accid","0");

if($POST['north']){
$accid = GETWHERE("account","account_id","character_name",$user,"0");
$longitude +=1;
mysql_query ("UPDATE characters SET longitude='$longitude' WHERE account_id='$accid'");
} 
else if($post['west']){
$accid = GETWHERE("account","account_id","character_name",$user,"0");
$latitude -=1;
mysql_query ("UPDATE characters SET latitude='$latitude' WHERE account_id='$accid'");
}
else if($post['east']){
$accid = GETWHERE("account","account_id","character_name",$user,"0");
$latitude +=1;
mysql_query ("UPDATE characters SET latitude='$latitude' WHERE account_id='$accid'");
}

else if($post['south']){
$accid = GETWHERE("account","account_id","character_name",$user,"0");
$longitude -=1;
mysql_query ("UPDATE characters SET longitude='$longitude' WHERE account_id='$accid'");
}

mysql_close($con);
header("location: main.php");

?>

 

Gets the following errors:

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /hermes/bosweb/web008/b87/d5.beanonym/public_html/subdomain/Steve/neverbeast.com/valdellaknights/travel.php on line 29

 

Warning: Cannot modify header information - headers already sent by (output started at /hermes/bosweb/web008/b87/d5.beanonym/public_html/subdomain/Steve/neverbeast.com/valdellaknights/travel.php:29) in /hermes/bosweb/web008/b87/d5.beanonym/public_html/subdomain/Steve/neverbeast.com/valdellaknights/travel.php on line 30

 

And functions.php is below:

<?php
require_once 'config.php';
function Connect(){
global $CONFIG;
$con = mysql_connect($CONFIG['server_ip'],$CONFIG['database_user'],$CONFIG['database_password']) or die("Could not connect to MySQL.");
$db = mysql_select_db($CONFIG['database']) or die("Could not select database.");
}
function ADD($table,$field,$value){
mysql_query("INSERT INTO $table ($field) VALUES ('$value')");
}

function UPDATE($table,$field,$value){
mysql_query("UPDATE $table SET $field = '$value'");
}

function UPDATEWHERE($table,$field,$value,$where,$whereequals){
mysql_query("UPDATE $table SET $field = '$value' WHERE $where = '$whereequals'");
}


function GET($table,$field,$row){
$query = mysql_query("SELECT $field FROM $table");
$data = mysql_fetch_row($query);
$return = $data[$row];
return $return;
}

function GETWHERE($table,$field,$where,$whereequals,$row) {
$query = mysql_query("SELECT $field FROM $table WHERE $where ='$whereequals'");
$data = mysql_fetch_row($query);
$return = $data[$row];
return $return;
}
?>

Link to comment
Share on other sites

Hello again.

You use $con parameter, that accesebly only from function connect();

To always have the way to close sql connection you may use class. for example like this:

 

 

class my_sql_db
{

var $db_connect_id;
var $query_result;
var $row = array();
var $rowset = array();
var $num_queries = 0;

//
// Constructor
//
function my_sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true)
{

	$this->persistency = $persistency;
	$this->user = $sqluser;
	$this->password = $sqlpassword;
	$this->server = $sqlserver;
	$this->dbname = $database;

	if($this->persistency)
	{
		$this->db_connect_id = @mysql_pconnect($this->server, $this->user, $this->password);
	}
	else
	{
		$this->db_connect_id = @mysql_connect($this->server, $this->user, $this->password);
	}



	if($this->db_connect_id)
	{
		if($database != "")
		{
			$this->dbname = $database;
			$dbselect = @mysql_select_db($this->dbname);
			if(!$dbselect)
			{
				@mysql_close($this->db_connect_id);
				$this->db_connect_id = $dbselect;
			}
		}
		return $this->db_connect_id;
	}
	else
	{
		return false;
	}
}

//
// Other base methods
//
function sql_close()
{
	if($this->db_connect_id)
	{
		if($this->query_result)
		{
			@mysql_free_result($this->query_result);
		}
		$result = @mysql_close($this->db_connect_id);
		return $result;
	}
	else
	{
		return false;
	}
}

//
// Base query method
//
function sql_query($query = "", $transaction = FALSE)
{
	// Remove any pre-existing queries
	unset($this->query_result);
	if($query != "")
	{
		$this->num_queries++;

		$this->query_result = @mysql_query($query, $this->db_connect_id);
	}
	if($this->query_result)
	{
		unset($this->row[$this->query_result]);
		unset($this->rowset[$this->query_result]);
		return $this->query_result;
	}
	else
	{
		return ( $transaction == END_TRANSACTION ) ? true : false;
	}
}

//
// Other query methods
//

function sql_list_fields($table)
{
	if($this->db_connect_id)
	{
		$result = @mysql_list_fields($this->dbname, $table, $this->db_connect_id) or die('DB, table or connection error.');
		return $result;
	}
	else
	{
		return false;
	}

}

function sql_numrows($query_id = 0)
{
	if(!$query_id)
	{
		$query_id = $this->query_result;
	}
	if($query_id)
	{
		$result = @mysql_num_rows($query_id);
		return $result;
	}
	else
	{
		return false;
	}
}
function sql_affectedrows()
{
	if($this->db_connect_id)
	{
		$result = @mysql_affected_rows($this->db_connect_id);
		return $result;
	}
	else
	{
		return false;
	}
}
function sql_numfields($query_id = 0)
{
	if(!$query_id)
	{
		$query_id = $this->query_result;
	}
	if($query_id)
	{
		$result = @mysql_num_fields($query_id);
		return $result;
	}
	else
	{
		return false;
	}
}
function sql_fieldname($offset, $query_id = 0)
{
	if(!$query_id)
	{
		$query_id = $this->query_result;
	}
	if($query_id)
	{
		$result = @mysql_field_name($query_id, $offset);
		return $result;
	}
	else
	{
		return false;
	}
}
function sql_fieldtype($offset, $query_id = 0)
{
	if(!$query_id)
	{
		$query_id = $this->query_result;
	}
	if($query_id)
	{
		$result = @mysql_field_type($query_id, $offset);
		return $result;
	}
	else
	{
		return false;
	}
}
function sql_fieldlen($offset, $query_id = 0)
{
	if(!$query_id)
	{
		$query_id = $this->query_result;
	}
	if($query_id)
	{
		$result = @mysql_field_len($query_id, $offset);
		return $result;
	}
	else
	{
		return false;
	}
}
function sql_fieldflags($offset, $query_id = 0)
{
	if(!$query_id)
	{
		$query_id = $this->query_result;
	}
	if($query_id)
	{
		$result = @mysql_field_flags($query_id, $offset);
		return $result;
	}
	else
	{
		return false;
	}
}

function sql_fetchrow($query_id = 0)
{
	if(!$query_id)
	{
		$query_id = $this->query_result;
	}
	if($query_id)
	{
		$this->row[$query_id] = @mysql_fetch_array($query_id);
		return $this->row[$query_id];
	}
	else
	{
		return false;
	}
}
function sql_fetchassoc($query_id = 0)
{
	if(!$query_id)
	{
		$query_id = $this->query_result;
	}
	if($query_id)
	{
		$this->row[$query_id] = @mysql_fetch_assoc($query_id);
		return $this->row[$query_id];
	}
	else
	{
		return false;
	}
}

function sql_fetchrowset($query_id = 0)
{
	if(!$query_id)
	{
		$query_id = $this->query_result;
	}
	if($query_id)
	{
		unset($this->rowset[$query_id]);
		unset($this->row[$query_id]);
		while($this->rowset[$query_id] = @mysql_fetch_array($query_id))
		{
			$result[] = $this->rowset[$query_id];
		}
		return $result;
	}
	else
	{
		return false;
	}
}
function sql_fetchfield($field, $rownum = -1, $query_id = 0)
{
	if(!$query_id)
	{
		$query_id = $this->query_result;
	}
	if($query_id)
	{
		if($rownum > -1)
		{
			$result = @mysql_result($query_id, $rownum, $field);
		}
		else
		{
			if(empty($this->row[$query_id]) && empty($this->rowset[$query_id]))
			{
				if($this->sql_fetchrow())
				{
					$result = $this->row[$query_id][$field];
				}
			}
			else
			{
				if($this->rowset[$query_id])
				{
					$result = $this->rowset[$query_id][0][$field];
				}
				else if($this->row[$query_id])
				{
					$result = $this->row[$query_id][$field];
				}
			}
		}
		return $result;
	}
	else
	{
		return false;
	}
}
function sql_rowseek($rownum, $query_id = 0){
	if(!$query_id)
	{
		$query_id = $this->query_result;
	}
	if($query_id)
	{
		$result = @mysql_data_seek($query_id, $rownum);
		return $result;
	}
	else
	{
		return false;
	}
}
function sql_nextid(){
	if($this->db_connect_id)
	{
		$result = @mysql_insert_id($this->db_connect_id);
		return $result;
	}
	else
	{
		return false;
	}
}
function sql_freeresult($query_id = 0){
	if(!$query_id)
	{
		$query_id = $this->query_result;
	}

	if ( $query_id )
	{
		unset($this->row[$query_id]);
		unset($this->rowset[$query_id]);

		@mysql_free_result($query_id);

		return true;
	}
	else
	{
		return false;
	}
}
function sql_error($query_id = 0)
{
	$result["message"] = @mysql_error($this->db_connect_id);
	$result["code"] = @mysql_errno($this->db_connect_id);

	return $result;
}

} // class sql_db

to have access every there you may also use some thing like this:

function connect()

{

  global $con;

  $con = ....

  //your code here

}

 

there you want to access $con use this:

global $con;

mysql_close($con);

 

About header error. You recive it cause you have some information already send to browser($con error message);

After full debug of you scripts use this:

ini_set("display_errors",0);

error_reporting(E_ERROR);//or any other error level that you want to write in you server logs.

Link to comment
Share on other sites

<html><head><meta http-equiv="Refresh" content="0; URL=http://neverbeast.com/valdellaknights/main.php"></head><body
<?php
include 'functions.php';
connect();
$latitude = GETWHERE("characters","latitude","account_id","$accid","0");
$longitude = GETWHERE("characters","longitude","account_id","$accid","0");

if($_POST['north']){
$accid = GETWHERE("account","account_id","character_name",$user,"0");
$longitude +=1;
mysql_query ("UPDATE characters SET longitude='$longitude' WHERE account_id='$accid'");
} 
else if($_POST['west']){
$accid = GETWHERE("account","account_id","character_name",$user,"0");
$latitude -=1;
mysql_query ("UPDATE characters SET latitude='$latitude' WHERE account_id='$accid'");
}
else if($_POST['east']){
$accid = GETWHERE("account","account_id","character_name",$user,"0");
$latitude +=1;
mysql_query ("UPDATE characters SET latitude='$latitude' WHERE account_id='$accid'");
}

else if($_POST['south']){
$accid = GETWHERE("account","account_id","character_name",$user,"0");
$longitude -=1;
mysql_query ("UPDATE characters SET longitude='$longitude' WHERE account_id='$accid'");
}

?>
</body>
</html>

 

Can you tell me exactly what to change in that? :(

Get's the following error:

 

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /hermes/bosweb/web008/b87/d5.beanonym/public_html/subdomain/Steve/neverbeast.com/valdellaknights/functions.php on line 30

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.