sql abfrage

latinum_1982

Erfahrenes Mitglied
ich brauch mal wieder ein gedanken stoss

bekomme eine undefinierte variable in zeile 6 ist warscheinlich das GET

aber wie kann ich das anders gestelten

PHP:
<?php

class getusers {
	
    private $db;
    private $userid = $_GET['id'];
	
    public function  __construct($config) {
        if(isset($config['DB'])) {
            $this->db = $config['DB'];
        } else {
            trigger_error('NO DATABASE ASSIGNED');
        }

        if(isset($config['GetUser']) && is_numeric($config['GetUser'])) {
            $this->userid = $config['GetUser'];
        }
    }

	public function getuser() {

        $result = false;
        $sql = 'SELECT
                        Username
                FROM
				user                        
                WHERE 
				'.$this->userid;
        $stmt = $this->db->prepare($sql);
        $stmt->execute();
        $stmt->bind_result($username);
        while($stmt->fetch()) {
            $result[] = array('username' => $username);

        }
        $stmt->close();
        return $result;
    }
}
?>
 
Deine SQL-Abfrage scheint mir falsch zu sein:
SQL:
'SELECT
     Username
FROM
     user
WHERE
     id='.$this->userid
 
Ja übergibst du die Variable denn in der URL?

PHP:
echo 'http://deineURL.com?id=123';
 
ja die übergebe ich

PHP:
<a href="profil.php?id=<?php echo htmlspecialchars($entry['user']) ?>"><?php echo htmlspecialchars($entry['username']) ?> </a><br>

und auf der profil seite

PHP:
include 'logic/profil.class.php';


$config = array('DB' => $db, 'GetUser' => $_GET['id']);

$gb = new getusers($config);

$entries = $gb->user();

und die class.php

PHP:
<?php

class getusers {
	
    private $db;
    private $userid = $_GET['id'];
	
    public function  __construct($config) {
        if(isset($config['DB'])) {
            $this->db = $config['DB'];
        } else {
            trigger_error('NO DATABASE ASSIGNED');
        }

        if(isset($config['GetUser']) && is_numeric($config['GetUser'])) {
            $this->userid = $config['GetUser'];
        }
    }

	public function getuser() {

        $result = false;
        $sql = 'SELECT
                        Username
                FROM
				user                        
                WHERE 
				id='.$this->$userid;
        $stmt = $this->db->prepare($sql);
        $stmt->execute();
        $stmt->bind_result($username);
        while($stmt->fetch()) {
            $result[] = array('username' => $username);

        }
        $stmt->close();
        return $result;
    }
}
?>
 
Zuletzt bearbeitet:
gelöst ;)


so habs ich es geschaft ;)

PHP:
<?php

class getusers {

    private $db;
    private $userid;
	
    public function  __construct($config) {
        if(isset($config['DB'])) {
            $this->db = $config['DB'];
        } else {
            trigger_error('NO DATABASE ASSIGNED');
        }

        if(isset($config['GetUser']) && is_numeric($config['GetUser'])) {
            $this->userid = $config['GetUser'];
        }
    }

	public function getuser() {

        $result = false;
		$uid = (int)$_REQUEST['id']; 
        $sql = 'SELECT
                        Username
                FROM
						user                        
                WHERE 
						ID = '.$uid;
        $stmt = $this->db->prepare($sql);
        $stmt->execute();
        $stmt->bind_result($username);
        while($stmt->fetch()) {
            $result[] = array('username' => $username);

        }
        $stmt->close();
        return $result;
    }
}
?>
 

Neue Beiträge

Zurück