Update to php7.2 and topic puller script now not working.

Need some custom code changes to the phpBB core simple enough that you feel doesn't require an extension? Then post your request here so that community members can provide some assistance.

NOTE: NO OFFICIAL SUPPORT IS PROVIDED IN THIS SUB-FORUM
Forum rules
READ: phpBB.com Board-Wide Rules and Regulations

NOTE: NO OFFICIAL SUPPORT IS PROVIDED IN THIS SUB-FORUM
timeforhelp1
Registered User
Posts: 305
Joined: Thu Feb 19, 2009 5:34 pm

Update to php7.2 and topic puller script now not working.

Post by timeforhelp1 »

So I have this script which has worked well for years.
My host has updated me to php7.2 so my 3.2 board will work until I update to 3.3

I changed my config file to mysqli as my board did not work with just MySQL.
But now my topic puller scipt does not work.
I changed all 'mysql' parts in it to mysqli and it still does not work, any ideas?
Below is the script I have been using.
Error message is 'Could not select database' when I use mysqli but nothing at all with just mysql.

Code: Select all

<?php
// How Many Topics you want to display?
$topicnumber = 10;
 // Scrolling towards up or down?
    $scroll = "up";

// Change this to your phpBB path
    $urlPath = "/community";


// Database Configuration (Where your phpBB config.php file is located)
    include 'community/config.php';

$table_topics = $table_prefix. "topics";
    $table_forums = $table_prefix. "forums";
    $table_posts = $table_prefix. "posts";
    $table_users = $table_prefix. "users";
    $link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd") or die("Could not connect");
    mysql_select_db("$dbname") or die("Could not select database");
 
    $query = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username
    FROM $table_topics t, $table_forums f, $table_posts p, $table_users u
    WHERE t.topic_id = p.topic_id AND
    f.forum_id = t.forum_id AND
t.forum_id != 4 AND 

t.topic_status <> 2 AND
    p.post_id = t.topic_first_post_id AND
    p.poster_id = u.user_id
        ORDER BY p.post_id DESC LIMIT $topicnumber";
    $result = mysql_query($query) or die("Query failed");	

print  " ";

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
	 {

            echo  "<a href=\"$urlPath/viewtopic.php?f=$row[forum_id]&t=$row[topic_id]&p=$row[post_id]\" TARGET=\"_self\">" .$row["topic_title"] ."</a><p>";
            }

print "";
mysql_free_result($result);
mysql_close($link);
?>
Last edited by Mick on Sat May 25, 2024 7:29 am, edited 1 time in total.
Reason: Solved.
rxu
Extensions Development Team
Posts: 3803
Joined: Wed Oct 25, 2006 12:46 pm
Location: Siberia, Russian Federation

Re: Update to php7.2 and topic puller script now not working.

Post by rxu »

Was mysql_select_db() changed to mysqli_select_db() (and same mysql->mysqli changes for other functions)? You might want to post the actual script after the mysqli changes have been made.
timeforhelp1
Registered User
Posts: 305
Joined: Thu Feb 19, 2009 5:34 pm

Re: Update to php7.2 and topic puller script now not working.

Post by timeforhelp1 »

Yes every mysql was changed to mysqli

Code: Select all

<?php
// How Many Topics you want to display?
$topicnumber = 13;
 // Scrolling towards up or down?
    $scroll = "up";

// Change this to your phpBB path
    $urlPath = "/community";


// Database Configuration (Where your phpBB config.php file is located)
    include 'community/config.php';

$table_topics = $table_prefix. "topics";
    $table_forums = $table_prefix. "forums";
    $table_posts = $table_prefix. "posts";
    $table_users = $table_prefix. "users";
    $link = mysqli_connect("$dbhost", "$dbuser", "$dbpasswd") or die("Could not connect");
    mysqli_select_db("$dbname") or die("Could not select database");
 
    $query = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username
    FROM $table_topics t, $table_forums f, $table_posts p, $table_users u
    WHERE t.topic_id = p.topic_id AND
    f.forum_id = t.forum_id AND
   t.forum_id != 4 AND 
 t.forum_id != 1 AND 
	t.forum_id != 2 AND

    t.topic_status <> 2 AND
    p.post_id = t.topic_first_post_id AND
    p.poster_id = u.user_id
        ORDER BY p.post_id DESC LIMIT $topicnumber";
    $result = mysqli_query($query) or die("Query failed");	

print  " ";

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) 
	 {

            echo  "<a href=\"$urlPath/viewtopic.php?f=$row[forum_id]&t=$row[topic_id]&p=$row[post_id]\" TARGET=\"_self\">" .$row["topic_title"] ."</a><p>";
            }

print "";
mysqli_free_result($result);
mysqli_close($link);
?>
rxu
Extensions Development Team
Posts: 3803
Joined: Wed Oct 25, 2006 12:46 pm
Location: Siberia, Russian Federation

Re: Update to php7.2 and topic puller script now not working.

Post by rxu »

mysqli_select_db() requires a mysqli object as a 1st argument, see https://www.php.net/manual/en/mysqli.select-db.php. So the call would be

Code: Select all

mysqli_select_db($link, $dbname) or die("Could not select database");
or probably in object-oriented style

Code: Select all

$link->select_db($dbname);
Last edited by rxu on Thu May 16, 2024 4:54 pm, edited 1 time in total.
timeforhelp1
Registered User
Posts: 305
Joined: Thu Feb 19, 2009 5:34 pm

Re: Update to php7.2 and topic puller script now not working.

Post by timeforhelp1 »

Code: Select all

mysqli_select_db($link, $dbname) or die("Could not select database");
Came up query failed, I don't now how to do the other one...

Code: Select all

bject-oriented style
timeforhelp1
Registered User
Posts: 305
Joined: Thu Feb 19, 2009 5:34 pm

Re: Update to php7.2 and topic puller script now not working.

Post by timeforhelp1 »

Any ideas anyone?
rxu
Extensions Development Team
Posts: 3803
Joined: Wed Oct 25, 2006 12:46 pm
Location: Siberia, Russian Federation

Re: Update to php7.2 and topic puller script now not working.

Post by rxu »

Tested and it turned out mysqli_query() call should be adjusted as well to be mysqli_query($link, $query) instead of mysqli_query($query) (1st argument $link should be added).
timeforhelp1
Registered User
Posts: 305
Joined: Thu Feb 19, 2009 5:34 pm

Re: Update to php7.2 and topic puller script now not working.

Post by timeforhelp1 »

Yes yes yes! It worked, thanks very much mate!

Return to “phpBB Custom Coding”