2016-06-11 7 views
0

Ich habe Probleme beim Einfügen eines neuen Posts in meine Datenbank. Ich lief es auf Hostern und es war kein Problem, aber auf meinem vps es gibt mir die folgende Fehlermeldung:Warnung: mysql_fetch_array() erwartet Parameter 1 als Ressource sql

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/sam/public_html/admin/include/functions.php on line 37 

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/sam/public_html/admin/include/functions.php on line 46 

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/sam/public_html/admin/include/functions.php on line 55 

Hier ist mein Code (functions.php):

<?php 
include("../../Connections/confing.php"); 

function offset_time($time,$ofset) 
{ 
$time_array = explode(":",$time); 
$am = ""; 

$hours = $time_array[0]; 
$minutes = $time_array[1]; 

$new_hour = $hours +10; 


if($new_hour>24){ 
$new_hour = $new_hour - 24; 
$am = "am"; 
}else{ 
$am = "pm"; 
} 

if ($new_hour>12){ 
$new_hour = $new_hour -12; 
} 


$offset_time = $new_hour . ":". $minutes ." ".$am ; 

return $offset_time; 
} 

//---------------------- Get Cat ID ------------------------------------------- 
function getcatid($newsid){ 

$minSql = "select catid from art_news where newsid=".$newsid; 
$RSofGet = mysql_query($minSql); 
$RSget = mysql_fetch_array($RSofGet); 
$catid = $RSget["catid"]; 
return $catid; 
} 

function getzoneid($newsid){ 

$minSql = "select zoneid from art_news where newsid=".$newsid; 
$RSofGet = mysql_query($minSql); 
$RSget = mysql_fetch_array($RSofGet); 
$zoneid = $RSget["zoneid"]; 
return $zoneid; 
} 

function get_news_lang($newsid){ 

$minSql = "select lang from art_news where newsid=".$newsid; 
$RSofGet = mysql_query($minSql); 
$RSget = mysql_fetch_array($RSofGet); 
$lang = $RSget["lang"]; 
return $lang; 
} 

function get_art_lang($artid){ 

$minSql = "select lang from art_articles where artid=".$artid; 
$RSofGet = mysql_query($minSql); 
$RSget = mysql_fetch_array($RSofGet); 
$lang = $RSget["lang"]; 
return $lang; 
} 

function get_video_lang($albumid){ 

$minSql = "select lang from video_albums where albumid=".$albumid; 
$RSofGet = mysql_query($minSql); 
$RSget = mysql_fetch_array($RSofGet); 
$lang = $RSget["lang"]; 
return $lang; 
} 

function get_gallery_lang($albumid){ 

$minSql = "select lang from glr_albums where albumid=".$albumid; 
$RSofGet = mysql_query($minSql); 
$RSget = mysql_fetch_array($RSofGet); 
$lang = $RSget["lang"]; 
return $lang; 
} 


function getphoto_newsid($photoid){ 

$minSql = "select newsid from art_photos where photoid=".$photoid; 
$RSofGet = mysql_query($minSql); 
$RSget = mysql_fetch_array($RSofGet); 
$newsid = $RSget["newsid"]; 
return $newsid; 
} 


function get_photo_albumid($photoid){ 

$minSql = "select albumid from glr_photos where photoid=".$photoid; 
$RSofGet = mysql_query($minSql); 
$RSget = mysql_fetch_array($RSofGet); 
$albumid = $RSget["albumid"]; 
return $albumid;  
} 
?> 
+0

was ist der Fehler auf $ RSget = mysql_fetch_array ($ RSofGet); – sam

+0

Vermeiden Sie die Verwendung der mysql-Syntax, da sie veraltet ist und durch mysqli ersetzt wird. Verwenden Sie entweder mysqli oder PDO. Wenn Sie möchten, dass ein Tool beim Upgrade hilft, versuchen Sie Folgendes: https://php-shift.com/upgrade-mysql-mysqli –

Antwort

1

Sie bieten sollte eine gültige SQL Ergebnisse Ressource als ersten Parameter (mysql_query im Fehlerfall FALSE zurück):

<?php 
mysql_connect("localhost", "user", "password") or 
    die("Connect error: " . mysql_error()); 
mysql_select_db("mydb"); 

$sqlResource = mysql_query("SELECT id, name FROM mytable"); 

if ($sqlResource === false) // Check if query return an error 
    die("Query error: " . mysql_error()); 

while ($row = mysql_fetch_array($sqlResource, MYSQL_NUM)) { 
    printf("ID: %s Name: %s", $row[0], $row[1]); 
} 

mysql_free_result($sqlResource); 
?> 

PS: mysql * Funktionen, mysqli oder besser PDO Erweiterungen veraltet ARES verwenden .

+0

** ich benutze es so ** $ Db_Host = "localhost"; $ Db_User = "aqabacc_sam"; $ Db_Pass = "sam @ 123"; $ Db_Name = "aqabacc_sam"; $ con = mysql_connect ($ Db_Host, $ Db_User, $ Db_Pass); if (! $ Con) {die ('Verbindung konnte nicht hergestellt werden:'. Mysql_error());} mysql_select_db ($ Db_Name, $ con); – sam

+0

Ja, auf die gleiche Weise sollten Sie überprüfen, ob mysql_query false zurückgibt. @sam – Dario

+0

wie folgt: Funktion getcatid ($ newsid) { \t $ minSql = "wähle catid von art_news where newsid =". $ newsid; \t if ($ minSql === false) // Überprüfen Sie, ob die Abfrage einen Fehler zurückgibt sterben ("minSql error:". Mysql_error()); \t $ RSofGet = mysql_query ($ minSql); \t $ RSget = mysql_fetch_array ($ RSofGet); \t $ catid = $ RSget ["catid"]; Rückgabe $ catid; \t } – sam

0

, wenn ich es bearbeiten wie dieser Funktion getcatid ($ newsid) {

$minSql = "select catid from art_news where newsid=".$newsid; 
if ($minSql === false) // Check if query return an error 
die("minSql error: " . mysql_error()); 
$RSofGet = mysql_query($minSql); 
if ($RSofGet === false) // Check if query return an error 
die("RSofGet error: " . mysql_error()); 
$RSget = mysql_fetch_array($RSofGet); 
if ($RSget === false) // Check if query return an error 
die("RSget error: " . mysql_error()); 
$catid = $RSget["catid"]; 
return $catid; 
} 

erhalte ich diesen Fehler: RSofGet Fehler: Sie haben einen Fehler in der SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe von '' in Zeile 1 entspricht

Verwandte Themen