vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   PHP help (https://vborg.vbsupport.ru/showthread.php?t=319347)

Falcon Capt 07-04-2015 07:11 PM

PHP help
 
1 Attachment(s)
I converted some MySQL code from MySQL to MySQLi and got it working (sort of), just need a little help with the PHP now...

Original code:

Code:

if ($_REQUEST['show'] == 'mysqlstats' || empty($_REQUEST['show'])) {
        print_form_header('', '');
        print_table_header('MySQL Stats &nbsp;<span class="normal">mysql_stat()</span>');
        print_description_row(si_mysqlstats());
        print_table_footer();
        }


Code:

function si_mysqlstats() {
        $s = '';
        $status = explode('  ', mysql_stat());
        while ( list($k, $v) = each($status) ) {
                $s .= $v . '<br />';
        }
        return $s;
}

====================

Code that is now working:

Code:

if ($_REQUEST['show'] == 'mysqlistats' || empty($_REQUEST['show'])) {
        print_form_header('', '');
        print_table_header('MySQLi Stats &nbsp;<span class="normal">mysqli_stat()</span>');
        print_description_row(si_mysqlistats());
        print_table_footer();
        }


Code:

function si_mysqlistats() {
$link = mysqli_connect("localhost", "dbusername", "dbpassword", "dbname");

printf(mysqli_stat($link));

mysqli_close($link);
       
        return $s;
}

But it doesn't display correctly, see attached image, it is printing above the box instead of in the box.


Also, I would like the display to be:

Uptime: 49602
Threads: 4
Questions: 850693
Slow queries: 16
Opens: 3099
Flush tables: 1
Open tables: 747
Queries per second avg: 17.150


Instead of the current:

Uptime: 49602 Threads: 4 Questions: 850693 Slow queries: 16 Opens: 3099 Flush tables: 1 Open tables: 747 Queries per second avg: 17.150


Any help would be GREATLY appreciated!

kh99 07-04-2015 07:31 PM

Why did you change the si_mysqlstats to print out the info? You probably just needed to copy the function and change mysql_stat to mysqli_stat.

Falcon Capt 07-04-2015 07:49 PM

Quote:

Originally Posted by kh99 (Post 2549348)
Why did you change the si_mysqlstats to print out the info? You probably just needed to copy the function and change mysql_stat to mysqli_stat.

It wouldn't display any of the information just simply changing the function to MySQLi, with the above code was the only way I could get the info to display...

kh99 07-04-2015 07:55 PM

Oh, right, you needed the $link to call the function. So maybe this:
PHP Code:

function si_mysqlistats() {
    
$link mysqli_connect("localhost""dbusername""dbpassword""dbname");
    
$status explode('  'mysqli_stat($link));
    
mysqli_close($link);

    
$s '';
    while ( list(
$k$v) = each($status) ) {
        
$s .= $v '<br />';
    }
    return 
$s;    



And if you already have an open connection somewhere in the program, it would probably be better to change the function to take it as a parameter instead of opening another connection.

Falcon Capt 07-04-2015 08:12 PM

Quote:

Originally Posted by kh99 (Post 2549353)
Oh, right, you needed the $link to call the function. So maybe this:
PHP Code:

function si_mysqlistats() {
    
$link mysqli_connect("localhost""dbusername""dbpassword""dbname");
    
$status explode('  'mysqli_stat($link));
    
mysqli_close($link);

    
$s '';
    while ( list(
$k$v) = each($status) ) {
        
$s .= $v '<br />';
    }
    return 
$s;    



And if you already have an open connection somewhere in the program, it would probably be better to change the function to take it as a parameter instead of opening another connection.

You're awesome! That did it!

Many thanks!

If I already had an open connection elsewhere, what would this code look like?

kh99 07-04-2015 08:34 PM

Quote:

Originally Posted by Falcon Capt (Post 2549354)
You're awesome! That did it!

Many thanks!

If I already had an open connection elsewhere, what would this code look like?

I guess something like:
PHP Code:

function si_mysqlistats($link) { 
    
$status explode('  'mysqli_stat($link)); 

    
$s ''
    while ( list(
$k$v) = each($status) ) { 
        
$s .= $v '<br />'
    } 
    return 
$s;     


and then in the other code:
PHP Code:

    print_description_row(si_mysqlstats($link)); 


but after I posted that I realized that it looks like you're working on code from the admincp or modcp, so you might just be able to use global $db in place of $link, like

PHP Code:

function si_mysqlistats() { 
    global 
$db;
    
$status explode('  'mysqli_stat($db)); 

    
$s ''
    while ( list(
$k$v) = each($status) ) { 
        
$s .= $v '<br />'
    } 
    return 
$s;     



and you wouldn't have to change the other code.


All times are GMT. The time now is 10:56 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01190 seconds
  • Memory Usage 1,750KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_code_printable
  • (5)bbcode_php_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete