Just a little fix on my code.
Instead of checking the AccountName for the Character, it will check the AccountID .
As noticed, in the Account table, you only have 1 character per account created, this is the first character. And you don't have the others created chars in the account table, it's why I fixed that by checking the character AccountID.
Code:
<?php
$host = 'your_host';
$dbuser = 'user';
$dbpass = 'password';
$db = 'dbname';
$link = mysql_connect($host, $dbuser, $dbpass)
OR die(mysql_error());
if (!mysql_select_db($db, $link))
{
echo 'Unable to connect to the database.';
echo mysql_errno($link) . ": " . mysql_error($link). "\n";
exit;
}
// Query
$charname = $_POST['charname'];
$accountname = $_POST['accountname'];
$query = mysql_query("SELECT zonename FROM empire.character_ WHERE name='$charname';");
if (!$query) {
die('Could not query:' . mysql_error());
}
$find_zonename = mysql_result($query, 0);
echo "Found zone is..... :<b> $find_zonename </b> \r\n <br>";
$query2 = mysql_query("SELECT zoneid FROM character_ WHERE zonename='$find_zonename' LIMIT 1;");
if (!$query2) {
die('Could not query:' . mysql_error());
}
$find_zoneid = mysql_result($query2, 0);
$query3 = mysql_query("SELECT account_id FROM character_ WHERE name='$charname';");
if (!$query3) {
die('Could not query:' . mysql_error());
}
$find_accountid = mysql_result($query3, 0);
$query3a = mysql_query("SELECT id FROM account WHERE name='$accountname';");
if (!$query3a) {
die('Could not query:' . mysql_error());
}
$verifyaccount_id = mysql_result($query3a, 0);
$query4 = mysql_query("SELECT safe_x FROM zone WHERE zoneidnumber='$find_zoneid';");
if (!$query4) {
die('Could not query:' . mysql_error());
}
$find_safex = mysql_result($query4, 0);
$query5 = mysql_query("SELECT safe_y FROM zone WHERE zoneidnumber='$find_zoneid';");
if (!$query5) {
die('Could not query:' . mysql_error());
}
$find_safey = mysql_result($query5, 0);
$query6 = mysql_query("SELECT safe_z FROM zone WHERE zoneidnumber='$find_zoneid';");
if (!$query6) {
die('Could not query:' . mysql_error());
}
$find_safez = mysql_result($query6, 0);
//echo $find_accountname;
if($find_accountid != $verifyaccount_id)
{
echo ("Account name matched with this char ... <b> Failed! </b> \r\n <br> <b> Verify your Character's name and your's Account's name!");
mysql_close($link);
exit;
}
if($find_accountid = $verifyaccount_id)
{
echo ("Account name matched with this char ... <b> Ok! </b> \r\n <br>");
$charmove = mysql_query("UPDATE character_ SET zonename='$find_zonename', zoneid='$find_zoneid', x='$find_safex', y='$find_safey', z='$find_safez' WHERE name='$charname';");
if (!$charmove) {
die('Could not query:' . mysql_error());
}
echo ("Character moved to his actual zone safe point. \r\n");
mysql_close($link);
}
?>
Enjoy,
Mag