Zum Inhalt springen

Dukanos

Mitglieder
  • Gesamte Inhalte

    65
  • Benutzer seit

  • Letzter Besuch

Beiträge von Dukanos

  1. Hallo Leute,

    irgendwie steh ich gerade auf dem Schlauch.

    Ich versuche folgende Tabellen in meinen Server einzuspielen, aber ich kriege bei der news-tabelle immer den selben Fehler:

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PRIMARY KEY(news_id)

    FOREIGN KEY (fk_user_id) REFERENCES users (user_id)

    ON ' at line 7

    Hier die Tabellen:

    CREATE TABLE users (
    
      user_id 	INTEGER UNSIGNED   	NOT NULL AUTO_INCREMENT,
    
      username 	VARCHAR(20)   		NOT NULL ,
    
      firstname 	VARCHAR(20)   		NOT NULL ,
    
      name 		VARCHAR(20)   		NOT NULL ,
    
      street 	VARCHAR(20)   		NOT NULL ,
    
      city 		VARCHAR(20)  		NOT NULL ,
    
      zip 		SMALLINT UNSIGNED   	NOT NULL ,
    
      country 	VARCHAR(20)   		NOT NULL ,
    
      email 	VARCHAR(20)   		NOT NULL ,
    
      md5pwd 	VARCHAR(30)   		NOT NULL ,
    
      admin 	TINYINT UNSIGNED  DEFAULT 0 NOT NULL   ,
    
    PRIMARY KEY(user_id)
    
    )TYPE=InnoDB;
    
    
    
    
    
    CREATE TABLE news (
    
      news_id	INTEGER UNSIGNED	NOT NULL AUTO_INCREMENT,
    
      fk_user_id 	INTEGER UNSIGNED   	NOT NULL ,
    
      date 		DATETIME   		NOT NULL ,  
    
      info 		MEDIUMTEXT  		NOT NULL ,
    
    INDEX (fk_user_id)
    
    PRIMARY KEY(news_id)
    
    	FOREIGN KEY (fk_user_id) REFERENCES users (user_id)
    
    	ON UPDATE CASCADE 
    
    )TYPE=InnoDB;
    
    

    Könnte mich jemand von der Leitung schubsen auf der ich steh?

  2. Hallo zusammen,

    ich hätte gern gewusst, ob es möglich ist irgendwie festzustellen wo genau auf ein Bild geklickt wurde?

    Also kann ich irgendwie quasi mit einem onclick="uebergebekoords();" die Pixelkoordinaten der Cursor-Spitze weitergeben?

    Ich habe schon überlegt das Bild zu zerschnippeln und die einzelteile dann in Tabellenzellen zu legen, aber das wird richtig aufwendig. Deswegen wäre ich über eine einfachere Lösung sehr erfreut ^^

    Grüße

    Roland

  3. hmm, nicht richtig instantiiert?

    Kann das Problem dann daher kommen, dass ich eine 2te Index verwende?

    Lege das Objekt in der Index.php an:


    include ("/classes/db/userDBcontroller.php");

    session_start();

    $_SESSION['userDBcontroller'] = new userDBcontroller();
    [/PHP]

    verwende es aber nachdem ich über ein formular Feld (mit action = "index2.php?content=xyz") die index2.php aufgerufen habe da wieder.

    in der index2.php wird aber wieder session_start() aufgerufen. Soweit ich das verstanden habe müsste er doch da die Session wieder verwenden oder?

  4. Hallo zusammen,

    gleich mal vorne weg die Fehlermeldungen:

    Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in F:\xampp\htdocs\bg\class\db\userDBcontroller.php on line 12

    Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in F:\xampp\htdocs\bg\class\db\userDBcontroller.php on line 12

    Access denied for user 'ODBC'@'localhost' (using password: NO)

    Meine Fragen:

    Woher kommt "ODBC" als Benutzer?

    Ist das irgendein Default?

    Hat jemand ne Idee woher der fehler rühren könnte?

    Zum Code:

    Ich habe eine controller-Kind-Klasse.

    In der Elternklasse wird Benutzer, DB, Kennwort etc. festgelegt und eine Verbindung aufgebaut.

    Die DBcontroller-Klasse wird von einem anderen Controller aufgerufen.

    Die Objekte wurden in der $_SESSION angelegt (bis auf "father" natürlich :-))

    Eltern

    	
    class father {
    PROTECTED $db_user;
    PROTECTED $db_password;
    PROTECTED $db_server;
    PROTECTED $db;

    PROTECTED $affected_rows;
    PROTECTED $num_rows;

    PROTECTED STATIC $con;
    PROTECTED STATIC $queries;
    PROTECTED STATIC $connections;

    /****** CONTRUCTOR ****/
    public function __construct () {
    $this->db_server = "localhost";
    $this->db_user = "root";
    $this->db_password = "";
    $this->db = "bg";

    if(!is_resource(self::$con)) {
    self::$con = mysql_connect($this->db_server, $this->db_user, $this->db_password);
    ++self::$connections;
    }
    mysql_select_db($this->db, self::$con)
    OR die('Fehler beim Verbinden zur Datenbank');
    }//end constructor

    public function prepare($x) {
    return trim(strip_tags(mysql_real_escape_string($x)));
    }//end function prepare
    }//end father
    [/PHP]

    [b]Kind[/b]

    [PHP]
    require_once ("father.php");

    class userDBcontroller extends father {
    /***** CONSTRUCTOR ******/
    public function __contruct () {
    parent::__construct();
    }

    public function check($user, $pwd) {
    $result = mysql_query("SELECT username, md5pwd FROM users WHERE username = '".$user."'") or die(mysql_error());
    $erg = mysql_fetch_array($result);
    return $erg;
    }

    }//end class

    Edit:

    Ich sollte vllt. noch dazu sagen, dass ich die Objekte in der index.php anlegen lasse, der userDBcontroller aber erst aus einer 2ten index2.php aufgerufen wird.

    Es funktioniert nämlich mit einer anderen Kind-Klasse, die aus index.php angesprochen wird einwandfrei.

  5. Genau wird´s wohl nur der Anwalt sagen können.

    Der wäre jedenfalls der erste, den ich damit belästigen würde.

    So wie du das beschreibst ist das eine reine Abzocke gewesen und als unwissender Kunde muss ich mich doch auf die Empfehlungen verlassen können.

    Zu den Teilen (also Router etc.), die kann er natürlich wie alles andere, was man über einen Kaufvertrag erwirbt innerhalb einer angemessenen Frist zurückgeben/umtauschen.

    Wenn das ganze immer noch nicht funktioniert, dann hat der Dienstleister doch seinen teil der Vertrages nicht erfüllt, ergo kriegt er kein Geld.

    So würd ich mir das jetz mal ausmalen, wie genau die rechtliche Grundlage ist sollte man den Fachmann fragen (siehe Anwalt).

    edit:

    Ich lass mich natürlich gern eines besseren belehren :-)

    Grüße

  6. Stored Procedures sind in der Überlegung gewesen, aber entspricht imho nicht der Trennung von Logik und Datenspeicherung.

    Mal davon abgesehen kann man mit trim(), striptag() etc. auch schon einiges abfangen.

    Und die Anwendung dient nur zur Anschauung, also wird nie einem hacker-angriff ausgesetzt werden :-)

    Danke trotzdem für den Hinweis

  7. Hallo Leute,

    ich versuche über ein Suchfeld mit PHP eine Tabelle zu durchsuchen.

    Die Funktion in der DB-Zugriffsklasse sieht so aus:

    public function findUser($value)

    {

    $result = mysql_query("SELECT * FROM customer WHERE (user_name LIKE %'".$value."'%) OR (first_name LIKE %'".$value."'%) OR (family_name LIKE %'".$value."'%) OR (street LIKE %'".$value."'%) OR (house_no LIKE %'".$value."'%) OR (zip_code LIKE %'".$value."'%) OR (city LIKE %'".$value."'%) OR (creditcard_no LIKE %'".$value."'%) OR (email LIKE %'".$value."'%)") or die (mysql_error());

    return $result;

    }

    Allerdings wirft er mir immer den Fehler:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%'suchbegriff'%) OR (first_name LIKE %'suchbegriff'%) OR (family_name LIKE %'suchbegriff'%) OR (street LIKE' at line 1

    Serverversion ist: 5.0.24a

    Ich hab nichts dazu gefunden... also jedenfalls nichts, was mir sagt, dass der obige code falsch wäre.

    Hat jemand nen Tipp?

    Grüße

  8. Ich hab hier ein kleines Problem mit meinem Drucker (Canon LBP-2900).

    Ich hab den Fehler begangen und ihn an den USB gehängt, bevor mich die Treiberinstallation dazu aufgefordert hat.

    Ergo findet die Installation den Drucker nicht und bricht ab.

    Ich hab schon versucht das "unbekannte USB-Gerät" zu entfernen (also "entfernen"->"abstecken"->"installation starten"->"anstecken"), ändert aber nichts.

    Irgendwelche Tipps?

    Danke schonmal

    Grüße

  9. Hallo zusammen,

    vllt könnt ihr mir da ja weiterhelfen.

    Ich versuche aus dem übergebenen TextField die Zahl auszulesen, um 1 zu erniedrigen und dann zurück ins TextField zu schreiben, allerdings meckert der Compiler beim zurückschreiben mit:

    The method setText(String) in the type TextField is not applicable for the arguments(void)

    
    	public void decrement(TextField x) //+1
    
    	{
    
    		int y;
    
    		try{
    
    			y = Integer.parseInt(x.getText());
    
    			}
    
    		catch(Exception e)
    
    		{
    
    			System.out.println("Fehler aufgetreten: " + e);
    
    			return;
    
    		}
    
    		y--;
    
    		x.setText(System.out.println("" + y)); //<-Hier drückt der Schuh
    
    		return;
    
    	}//end decrement
    
    

    Irgendwelche ideen?

    Mir sagt der Fehler jetz nicht so viel :-)

    Danke schonmal

  10. Zu der Sache mit "gets", dessen bin ich mir bewusst, aber mir wurde es in diesem Fall empfohlen, weil scanf auch nicht das gelbe vom Ei wäre :-)

    char *strcpy(char *deststr, char *srcstr);

    ich hab mir auch schon überlegt anstatt strcpy einfach nur direkt x = s zu schreiben... dann gibts keine warnungen mehr, allerdings funktionierts immer noch nicht.

    Ich versuche aus dem eingegebnen string s[], die beiden zahlen herauszufiltern.

    Zahl 1 soll in x[] gespeichert werden und zahl 2 in x[]

    und im anschluss sollen sie noch ausgegeben werden.

    Über Fehleingaben mach ich mir später noch Sorgen :-)

    (Im späteren verlauf des programms sollen die beiden zahlen die ober- und untergrenze eines Zahlenbereichs angeben bei dem dann jede zahl in seine Primfaktoren zerlegt wird... aber das hat hiermit eigentlich nichts zu tun)

    Von der Logik her gibt doch die erste while-schleife an, dass er s[] in seiner kompletten länge durchläuft.

    Dann wird geprüft, ob es sich bei der ersten stelle um eine zahl handelt, wenn ja, dann kopiert er die zahl an der stelle s nach x ansonsten.

    Dann "else" und die 2te while-schleife:

    sobald er keine zahl mehr findet soll er den s[] so lange durchlaufen, bis wieder eine zahl kommt und die speichert er dann nach y[]

    ---

    habt ihr spontan ne bessere idee wie man´s machen könnte?

  11. Hallo zusammen,

    gleich mal vorne weg, die Suchfunktion hat nichts ergeben, also steinigt mich nicht gleich, weil ich euch mit sowas vermeidlich simplen langweile ^^

    Ich habe das Problem, dass ich 2 zahlen in einer Zeile einlesen soll.

    Also z.B. "100 200" dumm nur, dass es nicht so ganz hinhaut.

    Ich hab hier mal das stück des codes, welches das erledigen sollte.

    Bin ich nur zu blind oder wo is der fehler?

    ------

    int main(void)

    {

    int zahl, zahlu, zahlo;

    int n, i;

    char s[100], x[100], y[100];

    printf("Geben sie 2 Zahlen ein: \n");

    gets(s);

    i=0;

    /*schleife um die ganze Laenge des Strings zu durchlaufen*/

    while(i<= strlen(s))

    {

    /*schleife solange s an der Stelle i eine Zahl ist*/

    if(isdigit(s))

    {

    strcpy(x, s);

    }

    else

    {

    while(s != isdigit(s))

    {

    i++;

    }

    strcpy(y, s);

    }

    i++;

    }

    printf("%c", x);

    printf("%c", y);

    -------

    danke schonmal!

    Gruß Dukanos

  12. Öhm, die Radeon kostet 180€ aufpreis!!!

    Also da würd ich doch lieber nochmal vergleichen. Sie ist zwar die schnellste Karte und hat die beste Ausstattung, aber sie hat einen wirklich mehr als stolzen Preis...

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...