Log in

View Full Version : Error


RoconzaArt
01-16-2011, 08:08 PM
I KNOW I'm becoming a pest but told me about this error and I think it's not giving me cash. I did not touch any thing so I don't know why it doing it.


Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /home/roconza/public_html/levelup.php on line 242


Line 242: $num = mysql_numrows($result);

Kaeliah
01-16-2011, 08:30 PM
That would be caused by a faulty MySQL statement most likely. Would you care to copy/paste the 20 or so lines before that so we can see if it maybe is a MySQL statement? It would be an easy code fix, and if you're using the v1.1.0 then that's probably where the error came from, a mistake in the addition of the currency mod.

RoconzaArt
01-16-2011, 08:45 PM
I am using the latest version of the adopt script.

<?php

// ************************************************** ********************
// Rusnak PHP Adoptables Script
// Copyright 2009 Brandon Rusnak
// For help and support: http://www.rusnakweb.com/forum/
//
// Redistribution prohibited without written permission
// ************************************************** ********************

// Wake the sleeping giant

// ************************************************** ********************
// Basic Configuration Info
// ************************************************** ********************

include("inc/functions.php");
include("inc/config.php");
include("lang/lang.php");

$themeurl = grabanysetting("themeurl");

// ************************************************** ********************
// Define our top links by calling getlinks()
// ************************************************** ********************

$links = getlinks();

// ************************************************** ********************
// Define our ads by calling getads()
// ************************************************** ********************

$ads = getads("any");

// ************************************************** ********************
// Grab any dynamic article content from the content table
// ************************************************** ********************

$pagecontent = getsitecontent("index");
$article_title = $pagecontent[title];
$article_content = $pagecontent[content];
$article_content = nl2br($article_content);

// ************************************************** ********************
// Grab any settings that we will need for the current page from the DB
// ************************************************** ********************

$browsertitle = grabanysetting("browsertitle");
$sitename = grabanysetting("sitename");
$slogan = grabanysetting("slogan");

// ************************************************** ********************
// Check and see if the user is logged in to the site
// ************************************************** ********************

$loginstatus = logincheck();
$isloggedin = $loginstatus[loginstatus];
$loggedinname = $loginstatus[username];

// ************************************************** ********************
// End Prepwork - Output the page to the user
// ************************************************** ********************

$id = $_GET["id"];
$id = preg_replace("/[^a-zA-Z0-9s]/", "", $id);
$id = secure($id);

if($id == "" or !is_numeric($id)){

// If the ID is blank or non-numeric, then it is invalid...

$article_title = $err_idnoexist;
$article_content = $err_idnoexist_text;

}
else{

// We have what appears to be a valid adoptable ID, so we pull the adoptable's information from the database...

$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE aid='$id'";
$result = mysql_query($query);
$num = mysql_numrows($result);

//Loop out code
$i=0;
while ($i < 1) {

$aid=@mysql_result($result,$i,"aid");
$type=@mysql_result($result,$i,"type");
$name=@mysql_result($result,$i,"name");
$totalclicks=@mysql_result($result,$i,"totalclicks");
$currentlevel=@mysql_result($result,$i,"currentlevel");
$usealternates=@mysql_result($result,$i,"usealternates");
$isfrozen=@mysql_result($result,$i,"isfrozen");
$owner=@mysql_result($result,$i,"owner");

$i++;
}

if($aid == $id){

// The adoptable does exist, so now we need to see if we can vote...
// We need to get the date today and the user's IP address (if is guest we use this)

$date = date('Y-m-d');

$ip = $_SERVER['REMOTE_ADDR'];
$ip = preg_replace("/[^a-zA-Z0-9@._-]/", "", $ip);
$ip = secure($ip);

$num = 0;

if($isloggedin == "yes"){

// If we are logged in, we check if a user with our username voted for this adoptable today...

$query = "SELECT * FROM ".$prefix."vote_voters WHERE adoptableid='$id' and username = '$loggedinname' and date = '$date'";

}
else{

$query = "SELECT * FROM ".$prefix."vote_voters WHERE adoptableid='$id' and ip = '$ip' and date = '$date'";


} // End the is logged in check else statement


// Check what the number for the query is...

$result = mysql_query($query);
$num = mysql_numrows($result);

if($num == 0){

// The number of results is still zero, so we did not vote on this adoptable yet today...

// Now we see if the adoptable is frozen by its owner. If it is, we do not level...

if($isfrozen == "yes"){

$article_title = $lang_isfrozen_title;
$article_content = $lang_isfrozen_explain;

}
else{

// Adoptable is NOT frozen, so I think we can actually proceed with the leveling up of this adoptable...

$newclicks = $totalclicks + 1; // Add 1 click to the current click total of this adoptable...

// Actually insert our click information into the database...

$query = "UPDATE ".$prefix."owned_adoptables SET totalclicks='".$newclicks."' WHERE aid='".$id."'";
mysql_query($query);

// Now we need to update our vote_voters table with the user's vote...

mysql_query("INSERT INTO ".$prefix."vote_voters VALUES ('$date', '$loggedinname', '$ip','$id')");

// Now we need to see if we actually level this adoptable up...
// See if another level actually exists...

$nextlevelexists = getnextlevelexists($type, $currentlevel);

if($nextlevelexists == "true"){

// A higher level does exist, so we see if it is time to level up

$nextlevel = $currentlevel + 1;

$query = "SELECT * FROM ".$prefix."levels WHERE adoptiename='$type' and thisislevel='$nextlevel'";
$result = mysql_query($query);
$num = mysql_numrows($result);

//Loop out code
$i=0;
while ($i < 1) {

$requiredclicks=@mysql_result($result,$i,"requiredclicks"); // The number of clicks required for the next level

$i++;
}

// Check if the number of clicks we have now is greater than or equal to the required clicks to level up...

if($newclicks >= $requiredclicks and $requiredclicks != 0 and $requiredclicks != ""){

// We need to level this adoptable up...

$query = "UPDATE ".$prefix."owned_adoptables SET currentlevel='".$nextlevel."' WHERE aid='".$id."'";
mysql_query($query);

// Now we check if we are enabling alternate images...

$parentid = converttypetoparentid($type); // Get the ID of the parent type adoptable
$altstatus = getaltstatus($parentid, $id, $nextlevel); // Check if we are using alternate images or not...

if($altstatus == "yes"){

// We are enabling alternate images for this adoptable...

$query = "UPDATE ".$prefix."owned_adoptables SET usealternates='yes' WHERE aid='".$id."'";
mysql_query($query);


}

// Now we can see if the adoptable's owner gets a reward...
// The reward function will take care of sending out any reward that exists...

$rewardstatus = reward($id, $type, $nextlevel, $owner);



} // End the if statement if we are leveling the adoptable up



}

// Show a thank you message along with the adoptable's information to the user...

$image = getcurrentimage($id); // Get the current image of the adoptable...

$article_title = $lang_gave."".$name." one ".$lang_unit;
$article_content = "<img src='".$image."'><br>".$lang_gave."".$name." one ".$lang_unit.".<br>".$lang_levelup_encourage;


} // Adoptable is not frozen, end isfrozen else check

// ************************************************

// Start Rewards

// ************************************************


//Get currency on level up

$query = "SELECT * FROM `adopts_users` WHERE `username`='$loggedinname'";
$result = mysql_query($query);
$num = mysql_numrows($result);

$i = 0;
while ($i < 1) {
$dollar = @mysql_result($result, $i, "dollar");

// Change this number 10 to the number of currency you want users to earn on level up
$amount = rand(5, 15);
$newbalance = $dollar + $amount;

$i++;
}

mysql_query("UPDATE `adopts_users` SET `dollar`='" . $newbalance . "' WHERE `username`='$loggedinname'");


$article_content = $article_content . "<div align='center'><br />You have earned ". $amount ." Dollars for leveling up this Adoptable. <br />You now have " . $newbalance . " Dollars.</div>";




}
else{

// We already voted on this adoptable today, so show an error...

if($isloggedin == "yes"){

$article_title = $lang_alreadyleveled_title;
$article_content = $lang_member_alreadyleveled;

}
else{

$article_title = $lang_alreadyleveled_title;;
$article_content = $lang_guest_alreadyleveled;


}

}


}
else{

// Adoptable is invalid, show an error...

$article_title = $err_idnoexist;
$article_content = $err_idnoexist_text;

}



} // End the ID is not blank and is numeric else check


// ************************************************** ********************
// Begin Template Definition
// ************************************************** ********************

//Define our current theme
$file = $themeurl;

// Do the template changes and echo the ready template
$template = file_get_contents($file);

$template = replace(':ARTICLETITLE:',$article_title,$template) ;
$template = replace(':ARTICLECONTENT:',$article_content,$templ ate);
$template = replace(':ARTICLEDATE:',$article_date,$template);

$template = replace(':BROWSERTITLE:',$browsertitle,$template);
$template = replace(':SITENAME:',$sitename,$template);

//Define our links
$template = replace(':LINKSBAR:',$links,$template);

//Get the content for the side bar...

$sidebar = getsidebar();
$template = replace(':SIDEFEED:',$sidebar,$template);

//Get the ad content...
$template = replace(':ADS:',$ads,$template);

//Get the slogan info
$template = replace(':SLOGAN:',$slogan,$template);


echo $template;

// ************************************************** ********************
// End Template Definition
// ************************************************** ********************



?>

Tequila
01-16-2011, 08:54 PM
From a cursory glance it's the cash mod. I noticed that when pets are clicked on your site there is no "money" earned.

I'm sure it's an easy fix, but I got bit by the writing bug again...:catfish:

I'm sure someone will figure it out for you though. :happycbig:

Kaeliah
01-16-2011, 08:59 PM
Oi yes, there's the issue... x.x whoever installed this didn't take into the account that the prefix may be different from adopts_. Okay let's see if I can get this. :happyfaic:

Replace:

// Start Rewards

// ************************************************


//Get currency on level up

$query = "SELECT * FROM `adopts_users` WHERE `username`='$loggedinname'";
$result = mysql_query($query);
$num = mysql_numrows($result);

$i = 0;
while ($i < 1) {
$dollar = @mysql_result($result, $i, "dollar");

// Change this number 10 to the number of currency you want users to earn on level up
$amount = rand(5, 15);
$newbalance = $dollar + $amount;

$i++;
}

mysql_query("UPDATE `adopts_users` SET `dollar`='" . $newbalance . "' WHERE `username`='$loggedinname'");

WITH:


// Start Rewards

// ************************************************


//Get currency on level up

$query = "SELECT * FROM `".$prefix."users` WHERE `username`='$loggedinname'";
$result = mysql_query($query);
$num = mysql_numrows($result);

$i = 0;
while ($i < 1) {
$dollar = @mysql_result($result, $i, "dollar");

// Change this number 10 to the number of currency you want users to earn on level up
$amount = rand(5, 15);
$newbalance = $dollar + $amount;

$i++;
}

mysql_query("UPDATE `".$prefix."users` SET `dollar`='" . $newbalance . "' WHERE `username`='$loggedinname'");



(EDIT: the above code IS fixed ^.^)

And I'm going to submit a bug report about this methinks...

Please let me know if that fixed it asap. :happycbig:

RoconzaArt
01-16-2011, 09:19 PM
No I'm getting the same error.

Kaeliah
01-16-2011, 09:24 PM
oops my bad.

// Start Rewards

// ************************************************


//Get currency on level up

$query = "SELECT * FROM `".$prefix."users` WHERE `username`='$loggedinname'";
$result = mysql_query($query);
$num = mysql_numrows($result);

$i = 0;
while ($i < 1) {
$dollar = @mysql_result($result, $i, "dollar");

// Change this number 10 to the number of currency you want users to earn on level up
$amount = rand(5, 15);
$newbalance = $dollar + $amount;

$i++;
}

mysql_query("UPDATE `".$prefix."users` SET `dollar`='" . $newbalance . "' WHERE `username`='$loggedinname'");




Try that. If that doesn't work, theres an inconsistency with your tables.

RoconzaArt
01-16-2011, 09:32 PM
Yep that worked perfect!

Kaeliah
01-16-2011, 09:35 PM
*air punch* Awesomesauce. Yeah I forgot to remove the stupid underscore the first time *shot* :colonzero: Oh well, it's fixed now. :3 I also told Famer about it so he's gonna fix it in the download as well.

Hall of Famer
01-16-2011, 10:02 PM
Oh my mad, this is a terrible mistake. Sorry about that Roconza, I am reuploading a newer version(or more precisely, bug fix) of the script folder now, please wait a little bit and it will be available soon.

Hall of Famer