Noob Probleme / MYSQL Eintrag

Alles, was PHP betrifft, kann hier besprochen werden.

Noob Probleme / MYSQL Eintrag

Postby arty4u » 11. July 2008 04:18

Hallo,

ich fange gerade an mir selbst PHP mit MYSQL beizubringen. Ich habe eine Datenbank erstellt und dazu eine Tabelle hat alles geklappt. Aber beim nächsten schritt habe ich bereits probleme. ich möchte daten in die datenbank schreiben, dies klappt aber nicht. Folgende meldung kommt:

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\artyscript\eintrag.php on line 7

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\xampp\htdocs\artyscript\eintrag.php on line 7


Ich weiss nun nicht ob Xamp irgendwie einen fehler macht oder mein script einen fehler hat ?!

Kann mir da jemand evtl helfen?
arty4u
 
Posts: 20
Joined: 11. July 2008 04:15

Postby Stepke-DSL » 11. July 2008 07:55

Hallo,

Punkt eins: Dein Script zu posten wäre schon ne gute Sache...
Punkt zwei: Die erste Fehlermeldung besagt schon, dass der angegebene Benutzer (ohne Passwort) keine Zugriffsberechtigung hat.

Poste mal dein Script!

MfG Stepke

EDIT: Das wäre außerdem im Forum PHP besser angebracht...
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux

Postby Wiedmann » 11. July 2008 09:50

Ich weiss nun nicht ob Xamp irgendwie einen fehler macht oder mein script einen fehler hat ?!

Dein Script:
mysql_connect() kennt mehrere Parameter. U.a. welcher Benutzer für die Verbindung genommen werden soll.

Und man benutzt natürlich erst mysql_connect, vor einem mysql_query. Siehe das PHP-Manual und die dortigen Beispiele)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby arty4u » 11. July 2008 09:54

@admins
wenn ihr könnt dann verschiebt bitte diesen beitrag nach php

mein script das noch kein richtiges ist sondern eher einfach tests.
besteht aus folgenden komponenten:

- inc/config.php
- eintrag.php
- Tabelle_Anlegen.php

Das ist einfach nur ein test. ich versuche halt über eintrag.php irgendwas in die datenbank zu bekommen.

config.php hat folgenden inhalt:
Code: Select all
<?php
    // config.php
    error_reporting(E_ALL);
    define('MYSQL_HOST',     'localhost');
    define('MYSQL_USER',     'arty');
    define('MYSQL_PASS',     'abbuzzen');
    define('MYSQL_DATABASE', 'artydb');
?>


eintrag.php hat folgenden inhalt:
Code: Select all
<?php
    include 'inc/config.php';
    $Name = "Testname";
    $Inhalt = "Testinhalt";
    $Titel = "Testtitel";

    mysql_query("INSERT INTO artytb (Name, Inhalt, Titel) VALUES('$Name','$Inhalt','$Titel')");
?>


Hinweis: "artytb" ist mein tabellen name

Tabelle_Anlegen.php hat folgenden inhalt:
Code: Select all
<?php
    error_reporting(E_ALL);

    include 'inc/config.php';
    // Konfigurationsdatei laden

    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR
        die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR
        die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());

    // Hier kann man jetzt MySQL-Querys senden
    mysql_query("CREATE TABLE artytb
    (
             ID     INT AUTO_INCREMENT PRIMARY KEY,
             Name   VARCHAR(250),
             Inhalt TEXT,
             Titel  VARCHAR(250),
             Datum  DATETIME,
             Autor  VARCHAR(250)
    );");
    echo "Die Tabelle artytb wurde angelegt";
?>


die tabelle anzulegen hat geklappt aber der eintrag nicht.

Ich möchte erstmal was eintragen ohne formular also wundert euch bitte nicht wenn es dort keins gibt. ich weiss nicht ob ich in der eintrag alles korrekt gemacht habe aber ich weiss es nicht besser da ich halt noch frischling bin. evtl hilft mir ja jemand wenn er lust hat.

gruss
arthur
arty4u
 
Posts: 20
Joined: 11. July 2008 04:15

Postby arty4u » 11. July 2008 09:57

Wiedmann wrote:
Ich weiss nun nicht ob Xamp irgendwie einen fehler macht oder mein script einen fehler hat ?!

Dein Script:
mysql_connect() kennt mehrere Parameter. U.a. welcher Benutzer für die Verbindung genommen werden soll.

Und man benutzt natürlich erst mysql_connect, vor einem mysql_query. Siehe das PHP-Manual und die dortigen Beispiele)


reicht da nicht mein connect.php aus ?
arty4u
 
Posts: 20
Joined: 11. July 2008 04:15

Postby Wiedmann » 11. July 2008 10:02

reicht da nicht mein connect.php aus ?

Welche connect.php?

Und was hat diese Datei mit der Datei "eintrag.php" zu tun?
--> Im Moment reden wir ja von der "eintrag.php", da von dieser deine obige Fehlermeldung ist.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby arty4u » 11. July 2008 10:04

oh sorry hab mich vertan.

also in der eintrag.php wird die config.php includiert. dadurch ist doch der mysql_connect erfolgt oder nicht ?
Bin ein Einsteiger in die PHP Welt sowie MYSQL.
Bitte habt geduld mit mir ;-)
arty4u
 
Posts: 20
Joined: 11. July 2008 04:15

Postby Wiedmann » 11. July 2008 10:07

also in der eintrag.php wird die config.php includiert. dadurch ist doch der mysql_connect erfolgt oder nicht ?

Ich sehe in "config.php" kein mysql_connect().
--> Dort werden nur ein paar Konstanten definiert.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby arty4u » 11. July 2008 10:08

ah okay dann muss ich das also bei jeder datei dann immer neu connecten sehe ich das nun richtig. ich mach das grad mal^^

so hier meine neue eintrag.php:
Code: Select all
<?php
    include 'inc/config.php';

    mysql_connect("localhost","arty","abbuzzen");
    mysql_select_db("artydb");

    $Name = "Testname";
    $Inhalt = "Testinhalt";
    $Titel = "Testtitel";

    mysql_query("INSERT INTO artytb (Name, Inhalt, Titel) VALUES('$Name','$Inhalt','$Titel')");
?>


und es klappt glaube ich. zumindest kommt keine fehler meldung.
Bin ein Einsteiger in die PHP Welt sowie MYSQL.
Bitte habt geduld mit mir ;-)
arty4u
 
Posts: 20
Joined: 11. July 2008 04:15

Postby Stepke-DSL » 11. July 2008 10:13

Ein Script, was funktionieren soll, muss in etwa so aussehen:
Code: Select all
$db = mysql_connect(HOST, USER, PASS);
mysql_select_db(DB_NAME);
$res = mysql_query("SELECT * FROM `_table`;");
mysql_close($db);
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux

Postby arty4u » 11. July 2008 10:19

so habe es nun so erstellt:

neue datei für mysql_connect und zwar die > connect_db.php:
Code: Select all
<?php
     $db = mysql_connect('localhost', 'arty', 'abbuzzen');
     mysql_select_db('artydb');
     $res = mysql_query("SELECT * FROM `artytb`;");
     mysql_close($db);
?>


und die eintrag.php:
Code: Select all
<?php
    include 'inc/config.php';
    include 'inc/connect_db.php';

    $Name = "Testname";
    $Inhalt = "Testinhalt";
    $Titel = "Testtitel";

    mysql_query("INSERT INTO artytb (Name, Inhalt, Titel) VALUES('$Name','$Inhalt','$Titel')");
?>


irgendwie erhalte ich eine fehlermeldung, warum?

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\artyscript\eintrag.php on line 9

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\xampp\htdocs\artyscript\eintrag.php on line 9
Bin ein Einsteiger in die PHP Welt sowie MYSQL.
Bitte habt geduld mit mir ;-)
arty4u
 
Posts: 20
Joined: 11. July 2008 04:15

Postby Wiedmann » 11. July 2008 10:31

irgendwie erhalte ich eine fehlermeldung, warum?

Da in " connect_db.php" die Verbindung zu MySQL geschlossen wird, gibt es für das mysql_query() in "eintrag.php" keine gültige Verbindung.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby arty4u » 11. July 2008 10:34

also ist das so wie ich das gemacht habe nicht möglich ich muss es immer in der datei einfügen ja? oder muss man das mysql_close dann einfach nur in der eintrag.php schliessen?
Bin ein Einsteiger in die PHP Welt sowie MYSQL.
Bitte habt geduld mit mir ;-)
arty4u
 
Posts: 20
Joined: 11. July 2008 04:15

Postby Wiedmann » 11. July 2008 10:37

oder muss man das mysql_close dann einfach nur in der eintrag.php schliessen?

z.B. (oder man lässt es weg).
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby arty4u » 11. July 2008 10:39

also habe es grad ausprobiert klappt.

also kann ich das einfach weglassen? oder kann es dann sein das das script nicht so gut läuft deswegen den ich möchte gerne schon sauber programmieren.
Code: Select all
    mysql_close($db);
Bin ein Einsteiger in die PHP Welt sowie MYSQL.
Bitte habt geduld mit mir ;-)
arty4u
 
Posts: 20
Joined: 11. July 2008 04:15

Next

Return to PHP

Who is online

Users browsing this forum: No registered users and 19 guests