Fehler bei MYSQL ausfrage

  • Hallo. Ich kenne mich noch nicht so gut mit MYSQL aus, immer wenn ich auf meine seite gehe steht dort immer:

    Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\data_classes\server-data.php_data_classes-core.php.php on line 54

    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\data_classes\server-data.php_data_classes-core.php.php on line 275

    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\data_classes\server-data.php_data_classes-core.php.php on line 301

    Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\data_classes\server-data.php_data_classes-core.php.php:54) in C:\xampp\htdocs\data_classes\server-data.php_data_classes-core.php.php on line 339


    für zeile 54:

    PHP
    $cms_settings = mysql_query("SELECT * FROM cms_settings LIMIT 1");
    $config = mysql_fetch_assoc($cms_settings);
    
    
    $maintenance = mysql_num_rows($maintenance = mysql_query("SELECT * FROM cms_settings WHERE variable = 'cms_maintenance' AND value = '1'"));
    
    
    $server = mysql_fetch_assoc($server_status = mysql_query("SELECT * FROM server_status"));
    $online_count = $server['users_online'];

    für zeile 275:

    für zeile 301:

    für zeile 339:

    PHP
    if($maintenance == '1' && !$is_maintenance && $rank['iAdmin'] < 1){
    	header("Location: ".$path."/maintenance");
    	exit;
    } elseif($rank['iAdmin'] == 1 && $config['variable'] == "cms_maintenance" && $config['value'] == '1'){
    	$notify_maintenance = true;

    Danke schonmal falls mir jemand weiter helfen kann :)

  • Tippe mal drauf, dass hier

    Code
    $cms_settings = mysql_query("SELECT * FROM cms_settings LIMIT 1");

    ein MySQL-Fehler verursacht wird, wodurch in $cms_settings natürlich keine Ergebnisse gespeichert werden können. Um das zu verifizieren ändere diese Zeile in

    Code
    $cms_settings = mysql_query("SELECT * FROM cms_settings LIMIT 1") or die("MySQL-Fehler: ".mysql_error());

    und führe das von dir geschriebene Statement

    SQL
    SELECT * FROM cms_settings LIMIT 1

    auch mal direkt in der Datenbank aus (z.B. per phpmyadmin).