Ankündigung

Einklappen
Keine Ankündigung bisher.

Datenbank abfrage

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datenbank abfrage

    Hallo Ich habe ien Kleines Problem

    Ich habe eine Ältere php seite die mit PHP 5.2 noch ganz gut lief nun ist es aber pasiert das der server auf php 7 umgestellt wurde .

    verbindung zur deb bekomme ich nur leider die daten daraus nicht so wirklich .

    Folgende Meldung bekomme ich in meiner fehler konsole wenn Ich die people.php aufrufe .

    nun ist es so das ich selber die Seite nicht geschrieben habe sonden versuche ie zu Pflegen.

    Könte da jemand bitte Helfen

    solangsam vertehe ich nur bahnhof und komme nicht weiter

    mit der Meldung "" mysqli_fetch_object() expects parameter 1 to be mysqli_result, null given in ""

    Ich danke schon mal




    Code:
    AH01071: Got error 'PHP message: PHP Warning: mysqli_query() expects at least 2 parameters, 1 given in /var/www/vhosts/galeriekuehn.de/httpdocs/people.php on line 38\nPHP message: PHP Warning: Use of undefined constant a - assumed 'a' (this will throw an Error in a future version of PHP) in /var/www/vhosts/galeriekuhn.de/httpdocs/people.php on line 136\nPHP message: PHP Warning: mysqli_query() expects at least 2 parameters, 1 given in /var/www/vhosts/galeriekuehn.de/httpdocs/people.php on line 136\nPHP message: PHP Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, null given in /var/www/vhosts/galeriekuehn.de/httpdocs/people.php on line 136\nPHP message: PHP Warning: Use of undefined constant h - assumed 'h' (this will throw an Error in a future version of PHP) in /var/www/vhosts/galeriekuehn.de/httpdocs/people.php on line 16\nPHP message: PHP Warning: mysqli_query() expects at least 2 parameters, 1 given in /var/www/vhosts/galeriekuehn.de/httpdocs/people.php on line 146\nPHP message: PHP Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, null given in /var/www/vhosts/galeriekuehn.de/httpdocs/people.php on line 146\nPHP message: PHP Warning: Use of undefined constant p - assumed 'p' (this will throw an Error in a future version of PHP) in /var/www/vhosts/galeriekuehn.de/httpdocs/people.php on line 153\nPHP message: PHP Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /var/www/vhosts/galeriekuehn.de/httpdocs/people.php on line 153\nPHP message: PHP Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, null given in /var/www/vhosts/galeriekuehn.de/httpdocs/people.php on line 153\n', referer: https://www.galeriekuehn.de/galerie.php
    code aus der Datei

    PHP-Code:
    <?php
    require "config.php";

    if(ISSET(
    $_GET['id'])){
    # Detailanischt des Kuenstlers
    if(ISSET($_GET['language']) && $_GET['language'] == "en"){
    $queryP "SELECT id, last_name, first_name, biography_en AS biography, text_en AS text FROM people WHERE id = ".$_GET['id'];
    }
    else{
    $queryP "SELECT id, last_name, first_name, biography_de AS biography, text_de AS text FROM people WHERE id = ".$_GET['id'];
    }
    dbconnect();
    $data mysqli_fetch_object(mysqli_query($queryP));
    //BIlder zu einem Kuenstler holen
    $queryI "SELECT * FROM images WHERE person_id = ".$_GET['id'];
    if(
    $_GET['language'] == "en"){
    $queryB "SELECT id, person_id, filename, title_en AS title FROM images ";
    }
    else{
    $queryB "SELECT id, person_id, filename, title_de AS title FROM images ";
    }
    if(isset(
    $_GET['image'])){
    $queryB=$queryB." WHERE person_id = ".$_GET['id']." AND id=".$_GET['image'];
    }
    else{
    $queryB=$queryB."WHERE person_id = ".$_GET['id']." LIMIT 1";
    }
    $big mysqli_fetch_object(mysqli_query($queryB));
    $result mysqli_query($queryP);
    $resultImysqli_query($queryI);
    }
    else{
    # Kuenstlerliste
    dbconnect();
    $querya"SELECT id, last_name, first_name FROM people WHERE last_name BETWEEN 'A' AND 'H' ORDER BY last_name ASC";
    $queryh"SELECT id, last_name, first_name FROM people WHERE last_name BETWEEN 'H' AND 'P' ORDER BY last_name ASC";
    $queryp"SELECT id, last_name, first_name FROM people WHERE last_name BETWEEN 'P' AND 'Z' OR last_name LIKE'Z%' ORDER BY last_name ASC";
    $result mysqli_query($query);



    }

    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <link type="text/css" href="layout.css" rel="stylesheet" media="screen" />
    <link type="text/css" href="layout.css" rel="stylesheet" media="screen" />
    <style type="text/css">@import url(dropdownmenu.css) all;</style>


    <!--[if lt IE 8]>
    <style type="text/css">@import url(ie.css);</style>
    <![endif]-->


    <!--[if lt IE 8]>
    <style type="text/css">@import url(ie.css);</style>
    <![endif]-->
    <title><?php echo $site->sitetitle ?></title>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

    </head>
    <body>
    <div id="container">
    <?php renderFeHeader("people.php"$_GET['language']); ?>

    <div id="content">
    <?php
    if(ISSET($_GET['id'])){
    $path"images/".$_GET['id']."/".$big->filename;
    if(
    $big->filename != ""){
    $infos getimagesize($path);
    if(
    $infos[0] > $infos[1]){
    $propertys "width=400";
    $height = (400$infos[0]) * $infos[1];
    }
    else{
    $propertys "height=417";
    $height 417;
    }
    //Berechnung margin für vertikale Ausrichtung
    $free = (417 $height)/2;
    }
    $count str_word_count($data->text);
    $split explode(' ',$data->text);
    $part1 array_slice($split,0,ceil($count/2));
    $part2 array_slice($split,ceil($count/2));
    $string1 implode(' ',$part1);
    $string2 implode(' ',$part2);
    if(
    $_GET['language']=="en"){
    $languagelink="&language=en";
    }
    ?>

    <div class="box"><div id="bigImage"><img style="margin-top:<?php echo $free."px"?>;" src="<?php echo $path?><?php echo $propertys?> align="middle" /></div></div>
    <div class="box2"><div class="name"><?php echo $data->first_name." ".$data->last_name?></div>
    <div class="pImages">
    <?php while($image mysqli_fetch_object($resultI)){
    $imagepath "images/".$_GET['id']."/".$image->filename;
    $info getimagesize($imagepath);
    if(
    $info[0] > $info[1]){
    $factor $info[0]/$info[1];
    $newheight 152/$factor;
    //echo $newheight;
    $margin=(160-$newheight)/2;
    $property "width='152' style='margin-top:".$margin."px;'";
    }
    else{
    $property "height='159'";
    }
    $margin = (160-$info[1])/2;
    ?>
    <span class="pImage"><a href="people.php?id=<?php echo $_GET['id']; ?>&image=<?php echo $image->id.$languagelink?>"> <img src="<?php echo $imagepath;?><?php echo $property?> /></a></span>
    <?php ?>
    </div>

    </div>
    <div id="pBottom">
    <div class="pImageTitle"><?php echo $big->title?></div>
    <div class="pText"><div style="float:left; width:213px;"><?php echo $string1?></div><div style="margin-left:10px; float:left; width:213px;"><?php echo $string2?></div></div>
    <div class="pBio"><?php echo $data->biography?></div>
    </div>
    <?php

    }
    else{
    if(
    $_GET['language']=="en"){
    $languagelink="&language=en";
    }
    ?>
    <div id="pList">
    <div id="ag">
    <div class="pTitle">A-G</div>
    <?php $a=a$result mysqli_query($querya); while($person=mysqli_fetch_object($result)){ if($a != strtolower(substr($person->last_name01))){ echo "<br />"; } ?>
    <a href="people.php?id=<?php echo $person->id.$languagelink?>" ><?php echo $person->last_name." <span style='font-size:12px; font-weight: normal; color: #8a8a8a'>".$person->first_name."</span>"?> </a><br />
    <?php $a strtolower(substr($person->last_name01)); ?>
    <?php 
    ?>



    </div>
    <div id="ho">
    <div class="pTitle">H-O</div>
    <?php $a=h$result mysqli_query($queryh); while($person=mysqli_fetch_object($result)){ if($a != strtolower(strtolower(substr($person->last_name01)))){ echo "<br />"; } ?>
    <a href="people.php?id=<?php echo $person->id.$languagelink?>" ><?php echo $person->last_name." <span style='font-size:12px; font-weight: normal; color: #8a8a8a'>".$person->first_name."</span>"?> </a><br />
    <?php $a strtolower(substr($person->last_name01)); ?>
    <?php 
    ?>
    </div>
    <div id="pz">
    <div class="pTitle">P-Z</div>
    <?php $a=p$result mysqli_query($conn$queryp); while($person=mysqli_fetch_object($result)){ if($a != strtolower(substr($person->last_name0, -1))){ echo "<br />"; } ?>
    <a href="people.php?id=<?php echo $person->id.$languagelink ?>" ><?php echo $person->last_name." <span style='font-size:12px; font-weight: normal; color: #8a8a8a'>".$person->first_name."</span>"?> </a><br />
    <?php $a strtolower(substr($person->last_name01)); ?>
    <?php 
    ?>


    </div>
    </div>
    <?php
    }
    ?>
    </div>
    </body>
    </html>

  • #2
    Du brauchst bei prozeduraler Schreibeweise die Verbindungskennung als ersten Paramter. Steht aber auch im Handbuch.

    Das noch niemand deine Daten geklaut hat oder die DB gelöscht, grenzt an ein Wunder, denn du hast da eine eklatante Sicherheitslücke.
    PHP-Code:
    ...FROM people WHERE id ".$_GET['id']; 
    Übergebene Parameter sollten validiert und maskiert werden.


    HTML-Code:
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    Vermutlich steht auch die Datenbank noch auf latin1.
    Standard ist utf8, das kannst du auch alles gleich mit korrigieren.
    .


    Kommentar


    • #3
      Hallo

      Das mit der DB hast du recht es soll auch nur übergangsweise noch funktionieren da die liste die abgerufen wird sehr groß ist ( ohne persönliche daten ) Ich aber nebenbei halt schon an einer Neuen bastle.

      Will ich nur noch das nötigste machen.

      Doch unter php 5.2 ging halt noch alles.

      also was müste ich noch änder oder besser wie solte die Zeile dann ausehen.

      Aber danke erstma


      Kommentar


      • #4
        Steht doch im Handbuch sogar mit Beispielen und hier im Forum ist das Thema unzählige Male schon besprochen worden. Suche mal danach.

        Wenn du das nicht hin bekommst, dann musst du daraus einen Auftrag machen in der Jobbörse.

        Kommentar


        • #5
          Doch unter php 5.2 ging halt noch alles.
          Dieser mysqli-Fehler wäre auch bei PHP 5 gekommen. Wahrscheinlich wurde vorher noch schnell mysql_* in mysqli_* umbenannt ...

          Kommentar


          • #6
            Zitat von Spidy
            da die liste die abgerufen wird sehr groß ist ( ohne persönliche daten )
            Du weißt schon das es schon auch darum geht das man dir relativ einfach über die URL eigenes SQL einschleusen kann und so zB dir die komplette DB löschen (DROP ..) etc... Ist das angekommen?
            The string "()()" is not palindrom but the String "())(" is.

            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar

            Lädt...
            X