mysql_num_rows(): supplied argument is not a valid MySQL result resource
Sürgős segítség kellene!
Nem találom benne a hibát :/
Ezt írja:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/inc/functions.inc.php on line 440
Előre is köszönöm!
■ Nem találom benne a hibát :/
Ezt írja:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/inc/functions.inc.php on line 440
Előre is köszönöm!
<?PHP
function calcPages($gesEin,$aktSeite,$eSeite) {
$output = array();
$esQuote = ceil(($gesEin/$eSeite));
if($aktSeite==0) {$aktSeite=1;}
$startS = ($aktSeite*$eSeite)-$eSeite;
$output[0]=$esQuote;
$output[1]=$startS;
return $output;
}
function checkAnum($wert) {
$checkit = preg_match("/^[a-zA-Z0-9]+$/",$wert);
if($checkit) {
return true;
}
else {
return false;
}
}
function checkIP($wert) {
$checkit = preg_match("/^[0-9\*]{1,3}+\.[0-9\*]{1,3}+\.[0-9\*]{1,3}+\.[0-9\*]{1,3}+$/",$wert);
if($checkit) {
return true;
}
else {
return false;
}
}
function checkName($wert) {
$checkit = preg_match("/^[a-zA-Z0-9[:space:]]+$/",$wert);
if($checkit) {
return true;
}
else {
return false;
}
}
function checkVoucher($wert) {
$checkit = preg_match("/^[0-9]+[0-9\-]+[0-9]+$/",$wert);
$wert = str_replace('-','',$wert);
if($checkit && strlen($wert)>=16 && strlen($wert)<=25) {
return true;
}
else {
return false;
}
}
function checkPwd($wert) {
$checkit = preg_match("/^[a-zA-Z0-9[:space:]]+$/",$wert);
if($checkit) {
return true;
}
else {
return false;
}
}
function checkMail($string) {
if(preg_match("/^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}$/", $string)) {
return true;
}
else { return false; }
}
function checkInt($wert) {
$checkit = preg_match("/^[0-9]+$/",$wert);
if($checkit) {
return true;
}
else {
return false;
}
}
function checkRate($wert) {
//if(checkInt($wert) && $wert>0) {
if(preg_match("/^[1-9]+\.[0-9]+$/",$wert) || $wert>0) {
return true;
}
else {
return false;
}
}
function compareItems($inputID) {
$input = "./archives/items.txt";
$getFile = file($input);
$getZeilen = count($getFile);
for($x=0;$x<$getZeilen;$x++) {
$aktZeile = $getFile[$x];
$splitZeile = explode('|||',$aktZeile);
$startWert = $splitZeile[0]+0;
$endWert = $splitZeile[1]+0;
if($inputID<=$endWert AND $inputID>=$startWert) {
$maxStufe = $endWert-$startWert;
$stufe=$inputID-$startWert;
$aus=array();
$aus['item'] = $splitZeile[2];
$aus['groesse'] = trim($splitZeile[3]);
$aus['stufe'] = ($maxStufe==0) ? NULL : $stufe;
$aus['maxStufe'] = $maxStufe;
$aus['vnum']=$startWert;
return $aus;
}
}
$nItem=array();
$nItem['groesse']=1;
$nItem['item']=$inputID;
$nItem['stufe']=NULL;
$nItem['maxStufe']=0;
$nItem['vnum']=$inputID;
return $nItem;
}
function checkPos($inID) {
global $sqlServ;
$sqlCmd="SELECT pos,vnum FROM player.item WHERE owner_id='".$inID."' AND window='SAFEBOX'";
$sqlQry=mysql_query($sqlCmd,$sqlServ);
$lagerPos=array();
while($getLager=mysql_fetch_object($sqlQry)) {
$maxGr = compareItems($getLager->vnum);
$aktPos=$getLager->pos;
for($i=1;$i<=$maxGr['groesse'];$i++) {
$lagerPos[$aktPos]=$getLager->vnum;
$aktPos = $aktPos + 5;
}
}
$sqlCmd="SELECT pos,vnum FROM player.item WHERE owner_id='".$inID."' AND window='MALL'";
$sqlQry=mysql_query($sqlCmd,$sqlServ);
$islPos=array();
while($getISL=mysql_fetch_object($sqlQry)) {
$maxGr = compareItems($getISL->vnum);
$aktPos=$getISL->pos;
for($i=1;$i<=$maxGr['groesse'];$i++) {
$islPos[$aktPos]=$getISL->vnum;
$aktPos = $aktPos + 5;
}
}
$returnArray['lager']=$lagerPos;
$returnArray['islager']=$islPos;
return $returnArray;
}
function listLager($inArray,$typus=0) {
if($typus==1) {
$ueS='IS-Lager';
$cInput=$inArray['islager'];
}
else {
$ueS='Lager';
$cInput=$inArray['lager'];
}
echo'<table class="lager">';
echo'<tr>
<th class="topLine" colspan="5">'.$ueS.'</th>
</tr>';
for($i=0;$i<45;$i++) {
if($i==0) { echo'<tr>'; }
if(isset($cInput[$i])) {
$zF="tdunkel";
$getItem = compareItems($cInput[$i]);
$iStufe = (checkInt($getItem['stufe'])) ? "+".$getItem['stufe'] : '';
$lineout="<a title=\"".$getItem['item'].$iStufe."\">".$i."</a>";
}
else { $zF="thell"; $lineout=$i; }
echo '<td class="'.$zF.'">'.$lineout.'</td>';
if($i!=0 && ($i+1)%5==0) {
echo'</tr>';
if(($i+1)!=45) { echo '<tr>'; }
}
}
echo'</table>';
}
function findPos($belegtePos,$iGroesse) {
$possPos=array();
for($i=0;$i<45;$i++) {
if(empty($belegtePos[$i])) {
for($y=0;$y<$iGroesse;$y++) {
$aktPos=$i+($y*5);
$thisFits = true;
if(!isset($belegtePos[$aktPos]) && $aktPos<45) {
$thisFits = true;
}
else {
$thisFits = false;
break;
}
}
if($thisFits) { $possPos[]=$i; }
}
}
return $possPos;
}
function checkUploadSize($dateiGr,$maxGr) {
$maxGrByte = $maxGr*1024;
if($dateiGr<=$maxGrByte) {
return true;
}
else {
return false;
}
}
function imageCheckSize($datei,$xMax,$yMax) {
$erlaubteBilder = array(
'image/jpeg' => '.jpg',
'image/gif' => '.gif'
);
$getGr=getimagesize($datei);
if($getGr[0]<=$xMax && $getGr[1]<=$yMax && !empty($erlaubteBilder[$getGr['mime']]) ) {
return $erlaubteBilder[$getGr['mime']];
}
else {
return false;
}
}
function imageUpload($dateiIn,$maxDateiGr,$maxDateix,$maxDateiy) {
if($_FILES[$dateiIn]['size']>0) {
if(checkUploadSize($_FILES[$dateiIn]['size'],$maxDateiGr)) {
if($dateiEndung = imageCheckSize($_FILES[$dateiIn]['tmp_name'],$maxDateix,$maxDateiy)) {
$md5datei = md5_file($_FILES[$dateiIn]['tmp_name']).'_'.rand(10000,99999);
if(move_uploaded_file($_FILES[$dateiIn]['tmp_name'],'./is_img/'.$md5datei.$dateiEndung)) {
return $md5datei.$dateiEndung;
}
else { return false; }
}
else { return false; }
}
else { return false; }
}
else { return false; }
}
function getMapByIndex($mapIndex) {
global $sqlHp;
if(checkInt($mapIndex)) {
$returnArray=false;
$abfrage1 = "SELECT * FROM ".SQL_HP_DB.".maps";
$abfrage2 = mysql_query($abfrage1,$sqlHp);
while($abfrage3 = mysql_fetch_array($abfrage2)) {
if(trim($abfrage3['mapId'])==$mapIndex) {
$returnArray=array();
$returnArray=$abfrage3;
}
}
if(is_array($returnArray)) {
return $returnArray;
}
else {
return false;
}
}
else {
return false;
}
}
function listItems($iid='') {
echo'<select name="itemtyp">';
echo'<option value="">-------</option>';
$itemDatei = "./archives/items.txt";
$itemListe = file($itemDatei);
$dateiLaenge = count($itemListe);
for($i=0;$i<$dateiLaenge;$i++) {
$splitZeile = explode("|||",$itemListe[$i]);
$selected= ($iid>=$splitZeile[0] && $iid<=$splitZeile[1]) ? 'selected=selected':''; // to go
echo'<option '.$selected.' value="'.$splitZeile[0].'">'.$splitZeile[2].'</option>';
}
echo'</select>';
}
function listMaps() {
global $sqlHp;
echo'<ul class="menue">';
$abfrage1 = "SELECT * FROM ".SQL_HP_DB.".maps";
$abfrage2 = mysql_query($abfrage1,$sqlHp);
while($abfrage3 = mysql_fetch_object($abfrage2)) {
if($abfrage3->Name != "") {
echo '<li><a href="index.php?s=admin&a=map&mapindex='.$abfrage3->mapId.'">'.$abfrage3->Name.'</a></li>';
}
}
echo'</ul>';
}
function getDatum($timeStamp=0)
{
return date("d.m.Y",$timeStamp);
}
function getZeit($timeStamp=0)
{
return date("H:i",$timeStamp);
}
function x_nl2br($input)
{
$input = str_replace("\n",'<br/>',$input);
return $input;
}
function listNewsKat($mIndex=-1)
{
global $newsKategorien;
echo'<select name="kategorie">';
foreach($newsKategorien AS $katIndex => $katName)
{
$selected = ($mIndex==$katIndex) ? 'selected="selected"' : '';
echo'<option '.$selected.' value="'.$katIndex.'">'.$katName.'</option>';
}
echo'</select>';
}
function checkBetween($input,$lower=0,$upper=0)
{
if($input>=$lower && $input<=$upper) { return true; }
else { return false; }
}
function getTitel()
{
global $serverSettings;
$nummer = rand(1, 3);
if ($nummer == 1)
{
$titel = $serverSettings['titel_page1'];
}
elseif ($nummer == 2)
{
$titel = $serverSettings['titel_page2'];
}
else
{
$titel = $serverSettings['titel_page3'];
}
return $titel;
}
function charname($id)
{
global $sqlServ;
$abfrage1 = "SELECT name FROM player.player WHERE id = '".$id."'";
$abfrage2 = mysql_query($abfrage1, $sqlServ);
if (mysql_num_rows($abfrage2) == 1) {
$abfrage3 = mysql_fetch_object($abfrage2);
return $abfrage3->name;
} else {
return false;
}
}
function accname($id)
{
global $sqlServ;
$abfrage1 = "SELECT login FROM account.account WHERE id = '".$id."'";
$abfrage2 = mysql_query($abfrage1,$sqlServ);
if (mysql_num_rows($abfrage2) == 1)
{
$abfrage3 = mysql_fetch_object($abfrage2);
return $abfrage3->login;
}
else
{
return false;
}
}
function tomail($email,$text,$titel)
{
global $mailSettings;
if ($email == "" or $text == "" or $titel == "")
{
return false;
}
else
{
require_once '/PHPMailer/class.phpmailer.php';
$mail = new PHPMailer();
$mail->SetLanguage("de", "/PHPMailer/");
$mail->IsSMTP();
$mail->Host = $mailSettings['Host'];
$mail->SMTPAuth = true;
$mail->Username = $mailSettings['Username'];
$mail->Password = $mailSettings['Password'];
$mail->From = $mailSettings['Email'];
$mail->FromName = $mailSettings['Name'];
$mail->AddAddress($email);
$mail->Subject = $titel;
$mail->IsHTML(false);
$mail->Body = $text;
if ($mail->Send())
{
return true;
}
else
{
return false;
}
}
}
function lang($name)
{
global $sqlHp;
$ab1 = "SELECT * FROM ".SQL_HP_DB.".lang WHERE name = '".$name."' LIMIT 1";
$ab2 = mysql_query($ab1,$sqlHp);
if (mysql_num_rows($ab2) == 1)
{
$ab3 = mysql_fetch_object($ab2);
if ($_SESSION['lang'] == "deutsch")
{
return $ab3->deutsch;
}
elseif ($_SESSION['lang'] == "english")
{
return $ab3->english;
}
}
}
function get_item_proto($item)
{
global $sqlServ;
$ab1 = "SELECT vnum,locale_name,size FROM player.item_proto WHERE vnum = '".$item."'";
$ab2 = mysql_query($ab1,$sqlServ);
if (mysql_num_rows($ab2) == 1)
{
$ab3 = mysql_fetch_object($ab2);
$return = array();
$return['name'] = $ab3->locale_name;
$return['groesse'] = $ab3->size;
$return['id'] = $ab3->vnum;
return $return;
}
else
{
return false;
}
}
?>
Etika
A megoldáshoz ugye legjobb, ha elolvasod a dokumentációt. A mysql_num_rows valószínűleg olyan paramétert kapott, ami egy nem sikeres
SELECT
vagySHOW
típusú lekérdezés. De maga a hibaüzenet is pontosan ezt írja:Azaz a megadott argumentum egy nem valós MySQL eredmény forrás. Lehet, hogy maga a lekérdezés hibás, vagy nem is volt lekérdezés.
Ha már kódot idézel, miért
A probléma először is abból adódhat, hogy nem escapeled megfelelően a MySQL kérésnek átadandó paramétereket. Ezen kívül azt sem tudjuk a
lang
függvény milyen paramétert kap, mert abban a majd 500 sorban pont a lényeges információ nincs benne.Bocsesz
Azt értem igen, de valami megoldást nem tudsz mondani rá?
Vagy egy példát mutatni hogy hogyan lenne működőképes a dolog?
Ajánlom a mysql_query
Kisebb gond
Ez csak 1 letölthető alap web...
Ezért kértem segítséget :)
Keresd meg a support forumat
tanulni?
tanulás??
Attól hogy elolvasok egy fórumot akár nekem az semmit nem mondd érted.
Hidd el elolvastam már nem egyet...
Szóval ezért írtam hogy jobb lenne egy konkrét megoldás.
(Amúgy skypre felvetelek ha mégis segítenél.)
Ha nem szeretnéd megtanulni,
Tanulas
Amiert itt mindenki baratsagtalannak tunik, annak a hozzaallasod az oka. Te (latszolag?) nem akarsz azert tenni, hogy megoldodjon a problemad. Ha peldaul megkerdezned, hogy a forum tagok szerint mit kellene elolvasnod, hogy megertsd a kodot es meg tudd javitani, akkor valoszinuleg mindenki korulrajongana a kulonbozo elolvashato cikkekkel es jotanacsokkal. Igy, hogy a Te oldaladrol sem latjak a tenni akarast, a forum tagok sem fognak erted tul sokat mozdulni, belinkelik a hivatalos dokumentaciot es kesz.
Itt most harom dolgot tehetsz: 1. Atgondolod azt, hogy milyen elvarasokkal jottel ebbe a forumba es megprobalsz iranyt valtani a lassabb, de tanulast hozo folyamat fele. 2. Feltesztel egy projekt munka hirdetest, hogy valaki csinalja meg - penzert - a Te munkadat. 3. Kapcsolatba lepsz a script eredeti szerzojevel es tole kerdezed meg, hogy mit kellene tenned.
Hogy segitsek is, nehany alap informacio, ami segithet elindulni:
Van ugye az adatbazis szervered, jelen esetben egy MySQL. Ez egy program, ami valahol fut. Ha tarhely szolgaltatast hasznalsz, akkor ezt a szolgaltato bocsajtja rendelkezesedre. Ehhez van egy felhasznaloneved es jelszavar amit ebbe a letoltheto programba bele kell taplalnod, enelkul ugyanis nem tud csatlakozni a PHP program a MySQL-hez. Ha sikeresen csatlakozott a programod, akkor ezutan adatlekerdezeseket es modositasokat tud vegrehajtani az adatbazison.
Ha ez a muvelet hibara fut (vagy azert, mert nem volt aktiv csatlakozas es ezt korabban nem kezelte le a program alkotoja, vagy azert, mert a lekerdezessel tortent hiba), akkor nem kapsz vissza ervenyes MySQL eredmenyt a PHP-ban, amit a mysql_num_rows nem tud feldolgozni, ezert van a hibauzenet.
Mivel a programod szemmel lathatolag normalis hibakezeles nelkul van megirva (a normalistol eltero helyzeteket nem kezeli le), igy nem is fogod tudni megmondani a program modositasa nelkul, hogy mi a gond. Ezen a ponton viszont elgondolkoznek azon, hogy egy szemmel lathatolag gyengen megirt programba mennyi energiat erdemes fektetni.
+10