0

This first part work very well in other script of mine. But in this example the script simply skip this part and goes to the end and execute the last query..

I don't know what I'm doing wrong because I do it exactly same yet it doesn't work. This is full script.

for ($i = 1; $i <= $numofservers; $i++)
{   
     if($servers[$i][1] == $server)
     {
         $srv = $i;
         $connect = mysql_connect($servers[$srv][3], $servers[$srv][4], $servers[$srv][5]) or die('Could not connect: ' . mysql_error());
         mysql_select_db($servers[$srv][6]);
     }
}

$sql = mysql_query("SELECT * FROM db_users WHERE username = '".$nick."'") or die('Nick na serveru Neexistuje!' . mysql_error());
$sql = mysql_fetch_array($sql);            
$balance = $sql['donate_balance'];
$steamid = $sql['steam_id'];
$balance = $balance + $price_sms;
$money = mysql_query("UPDATE db_users SET `donate_balance`='". $balance ."' WHERE steam_id = '".$steam_id."'");


<?php
   $db_site_name = ''; // db connection name
   $db_site_password = '';
   $db_site_username = 'root'; // username of connection
   $db_site_ip = '127.0.0.1:3306';
   $link = mysql_connect($db_site_ip, $db_site_username, $db_site_password) or die('Could not connect: ' . mysql_error());
   mysql_select_db($db_site_name) or die('Not connected<br>');

   $serversquery = mysql_query("SELECT * FROM db_servers ORDER BY id");
   $numofservers = 0;

   while ($servers_array = mysql_fetch_array($serversquery))
   {
      $numofservers++;
      $servers[$numofservers] = array(
         $servers_array['id'],
         $servers_array['name'],
         $servers_array['about'],
         $servers_array['server_ip'],
         $servers_array['server_username'],
         $servers_array['server_password'],
         $servers_array['server_name'],
         $servers_array['server_admin_rank'],
         $servers_array['donate_factor']
    );
   }

   if (isset($_GET["request"])){
      $request_sms = ($_GET["request"]);
      $status = ($_GET["status"]);
      $message = ($_GET["message"]);
      $request = mysql_query("UPDATE `sms_confirm` SET `status` = '".$status."' WHERE `sms_id` = '".$request_sms."'");
      $findid = mysql_query("SELECT * FROM `sms_confirm` WHERE `sms_id` = '".$request_sms."' LIMIT 1") or die(mysql_error()); ;
      $query = mysql_fetch_array($findid);   
      if ($query['status'] == 'DELIVERED' AND $query['added'] == 'false'){
         $price_sms = $query['cena'];
         $nick = $query['nick'];
         $server = $query['server'];

         for ($i = 1; $i <= $numofservers; $i++)
         {   
         if($servers[$i][1] == $server)
         {
         $srv = $i;
         $connect = mysql_connect($servers[$srv][3], $servers[$srv][4], $servers[$srv][5]) or die('Could not connect: ' . mysql_error());
         mysql_select_db($servers[$srv][6]);
         }
         }
         $sql = mysql_query("SELECT * FROM db_users WHERE username = '".$nick."'") or die('Nick na serveru Neexistuje!' . mysql_error());
         $sql = mysql_fetch_array($sql);            
         $balance = $sql['donate_balance'];
         $steamid = $sql['steam_id'];
         $balance = $balance + $price_sms;
         $money = mysql_query("UPDATE db_users SET `donate_balance`='". $balance ."' WHERE steam_id = '".$steam_id."'");

         $link = mysql_connect($db_site_ip, $db_site_username, $db_site_password) or die('Could not connect: ' . mysql_error());
         mysql_select_db($db_site_name) or die('Not connected<br>');

         //this executes fine
         $request = mysql_query("UPDATE `sms_confirm` SET `added` = 'true' WHERE `sms_id` = '".$request_sms."'");         

      }
      }   
      //Header("HTTP/1.1 204 NO_CONTENT");
      //Header("Content-type: text/plain");
   ?>
3
  • What do you mean by "it doesn't work"? What sorts of errors are you getting in your log? Commented Sep 9, 2015 at 13:48
  • No errors.. it simply dont use $connect = mysql_connect($servers[$srv][3], $servers[$srv][4], $servers[$srv][5]) or die('Could not connect: ' . mysql_error()); mysql_select_db($servers[$srv][6]); And skip all that is associated with it and moves to the last $request and executes it Commented Sep 9, 2015 at 13:55
  • It return me this instead of database connection Resource id #3 Commented Sep 10, 2015 at 16:47

1 Answer 1

1

First of all, don't use mysql_* functions. It's deprecated and will be removed.

And if you want to use more than one database connection, you have to pass link to it to every function that will contact with your databases.

Eg, check here (second parameter).

Sample code

$link = mysql_connect($db_site_ip, $db_site_username, $db_site_password);
mysql_select_db($db_site_name, $link);

mysql_query($query, $link);
Sign up to request clarification or add additional context in comments.

2 Comments

$connect = mysql_connect($servers[$srv][3], $servers[$srv][4], $servers[$srv][5][ $link]) or die('Could not connect: ' . mysql_error()); mysql_select_db($servers[$srv][6][ $link]); Like this?
@user3815486 check my edit and read documentation carefully. There are examples, too.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.