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.
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
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.