PHP Datenbankeintragung und später wieder Auslesung - ACCESS DENIED

david96

Ensign
Registriert
März 2007
Beiträge
218
Folgendes Problem:

Daten, die über ein Formular per POST an meine PHP Datei übergeben werden sollen in die Datenbank eingetragen werden. Hat bis jetzt auch immer geklappt. Nur jetzt will ich die Daten sofort wieder auslesen, ich kann nicht die POST Daten nehmen weil ich die ID Brauche.

Mein Code:

PHP:
</head>
<?php
$db = new MySQLi('localhost', 'username', 'passwort', 'dbname'); // Daten geändert
if (mysqli_connect_errno()) {
    die('Konnte keine Verbindung zu Datenbank aufbauen, MySQL meldete: '.mysqli_connect_error());
}
?>
<body>
// Ueberschrift etc [...]
 <?php
$Stichwort1= $_POST['stichwort1'];
$Stichwort2= $_POST['stichwort2'];
$Stichwort3= $_POST['stichwort3'];
$Grund= $_POST['Grund'];
$Ort= $_POST['Ort'];
$Einheiten= $_POST['Einheiten'];

$sql = "INSERT EinsatzDB (Stichwort1,Stichwort2,Stichwort3,Grund,Ort,Einheiten,Datum) VALUES ('$Stichwort1','$Stichwort2','$Stichwort3','$Grund','$Ort','$Einheiten',NOW())"; 

$result = mysql_query($sql) OR
                  die("Query: <pre>".$sql."</pre>\n".
                  "Antwoertchen: ".mysql_error());

$sql = 'SELECT
    ID,
        Stichwort1,
        Stichwort2,
        Stichwort3,
        Grund,
        Ort,
        Einheiten,
        Datum
        FROM
    EinsatzDB
ORDER BY
    ID DESC
        LIMIT 1';
Auslesen der Daten klappt, dann wird per fwrite ne Datei erstellt und da stehen die Daten drin, also das funktioniert.

So hier die Fehlermeldung:

Code:
[B]Warning[/B]:  mysql_query() [[URL="http://www.fs-kreis-olpe.de/lst/function.mysql-query"]function.mysql-query[/URL]]: Access denied for user 'www-data'@'localhost' (using password: NO) in [B]/var/www/vhosts/meinedomain(zensiert)/httpdocs/lst/dateiname(zensiert).php[/B] on line [B]60[/B]

[B]Warning[/B]:  mysql_query() [[URL="http://www.fs-kreis-olpe.de/lst/function.mysql-query"]function.mysql-query[/URL]]: A link to the server could not be established in [B]/var/www/vhosts/meinedomain(zensiert)/httpdocs/lst/[/B][B]dateiname(zensiert).php[/B] on line [B]60[/B]
Query: INSERT EinsatzDB (Stichwort1,Stichwort2,Stichwort3,Grund,Ort,Einheiten,Datum) VALUES ('Feuer','3','BMA','test','test','test',NOW()) Antwoertchen: Access denied for user 'www-data'@'localhost' (using password: NO)

Zeile 60 ist diese hier:

Code:
$result = mysql_query($sql) OR

Mich interessiert nicht ob man das einfacher lösen kann, nur wie ich es mit dieser Methode ans laufen bekommen kann. Danke im Vorraus ;)
 
Du mischst die Erweiterungen mysqli und mysql. Mit mysqli verbindest du dich zur DB (= authorisiert) und mit mysql führst du die Abfrage durch (= nicht authorisiert).
 
Danke für die bisherige Hilfe!

Neue Probleme ...

Code:

PHP:
// [...]
</head>
<?php
error_reporting(E_ALL);
$db_link = mysql_connect('localhost', '[username(editiert)]', '[pw(editiert)]');
mysql_select_db('[dbname(editiert)]');
?>

<body>

// Header, Navi etc [...]

                 <?php

                 // Variablen [...]

                 $sql = "INSERT EinsatzDB (Stichwort1,Stichwort2,Stichwort3,Grund,Ort,Einheiten,Datum) VALUES ('$Stichwort1','$Stichwort2','$Stichwort3','$Grund','$Ort','$Einheiten',NOW())";

                 $name = mysql_insert_id();

                 $oben = 'Inhalt Oben [...]';

               $nr = 'Inhalt Nummer [...] ';

               $mitte = 'Inhalt Mitte [...]';

               $datei = fopen("$name.php", "w");
               fwrite($datei, $oben);
               fwrite($datei, $nr);
               fwrite($datei, $name);
               fwrite($datei, $mitte);
               fwrite($datei, "<b>Allgemeine Daten</b>");
               fwrite($datei, "<br /><br />");
               fwrite($datei, "Stichwort: ");
               fwrite($datei, $Stichwort1);
               fwrite($datei, $Stichwort2);
               fwrite($datei, $Stichwort3);
               ?>
              // Footer etc [...]
In die DB wird nichts eingetragen, zwischenzeitlich ging es mal :( Nunja.
Das mit der ID klappt nicht, wird immer "0" angezeigt.
In die Datei wird alles korrekt eingetragen.

Danke für diei weitere Hilfe im Vorraus ... :)
 
Du musst die SQL-Abfrage erst ausführen (z.B. query(), s.o.) und dann insert_id() benutzen. Und auch hier darfst du nicht wieder mysql und mysqli mischen.
 
Wo habe ich denn gemischt?^^ Habe davon wenig Ahnung :/

Wegen insert_id(): ist doch so, erst Eintragung, dann instert_id(), oder nicht?
 
Du hast keine Eintragung. Da fehlt eine query()-Abfrage.

mysql_insert_id(), mysql_query() = Erweiterung mysql

$db->insert_id(), $db->query() = Erweiterung mysqli
 
Zurück
Oben