Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : schon wieder ein problem >.< || Werte werden nicht in die DB geschrieben



fanrpg
07.07.2005, 22:02
Also ich wollte jetzt nen gbook Script schreiben und ich habe das so gemacht:

<?php
include("config.php");
if(isset($submit)) {
if ($_POST['name'] != "" && $_POST['email'] != "")
{
$gbook_insert = "INSERT INTO `gbook` (name, eintrag, email) VALUES ('".$_POST['name']."', '".$_POST['eintrag']."', '".$_POST['email']."');";
echo $gbook_insert;
//$gbook_query = mysql_query($gbook_insert);
}
else {
echo "Error! Kein Name oder keine E-Mail Adresse eingegeben";
}
}

?>
<form method="post">
Name: <input name="name" type="text"><br>
E-Mail Adresse: <input name="email" type="text"><br>
Text: <br><textarea name="eintrag" cols="40" rows="20"></textarea>
<input name="submit" type="submit" value="Absenden">
</form>
<?php
$abfrage = "SELECT * FROM gbook";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
?>
<br>
<table border="1" width="70%">
<tr>
<td><?
echo $row->name;
?>
</td>
<td><?
echo $row->email;
?>
</td>
</tr>
<tr>
<td colspan="2"><?
echo $row->eintrag;
?>
</td>
</tr>
</table><?
}
?>
Aber der schreibt einfach nicht die neuen Einträge in die DB obwohl wenn ich das per echo ausgeben lass, folgendes kommt:

INSERT INTO `gbook` (name, eintrag, email) VALUES ('fanrpg', 'test', 'test@tester.de');
Weiss einer warum der das nicht in die DB schreibt?
Ach ja Syntax der DB:

CREATE TABLE `gbook` (
`ID` int(255) NOT NULL auto_increment,
`eintrag` text NOT NULL,
`email` varchar(255) NOT NULL default '',
`name` varchar(255) NOT NULL default '',
PRIMARY KEY (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

jemand ne Idee?

rgb
08.07.2005, 01:04
weil du den mysql_query auskommentiert hast? o.o
ansonsten schreib dahinter doch noch:
echo mysql_error();

fanrpg
08.07.2005, 09:40
weil du den mysql_query auskommentiert hast? o.o
ansonsten schreib dahinter doch noch:
echo mysql_error();
Weil das echo da eigentlich nicht hingehört weil das ja nicht geklappt hat mit dem eintragen hab ich das auskommentiert und dafür das echo hingesetzt.

dread
08.07.2005, 11:59
Ich hoffe, in deiner config.php stehen die MySQL-Daten.

mysql_connect("HOST","BENUTZER","PASSWORT");
mysql_select_db("DATENBANK");
Lass dir den MySQL-Error ausgeben nach deinem Query.

echo mysql_error();

fanrpg
08.07.2005, 12:08
die config.php


<?
$dbms = 'mysql';
$db_host = 'localhost';
$db_name = 'news';
$db_user = 'root';
$db_pass = '';
$db_domain = 'locaohost';

/* Verbindung zur Datenbank aufbauen */
$db = @mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());

mysql_select_db($db_name) or die(mysql_error());
?>

und per mysql_error() wirft der aber auch nichts aus :(
und wird trotzdem nicht eingetragen :\

Lukas
08.07.2005, 13:10
Ich würde $db_pas s durch $db_pass und locaohost durch localhost ersetzen. Desweiteren hast du in den letzten beiden Zeilen eine schließende Klammer zu viel. Außerdem gebe ich den MySQL-Queries als letzten Parameter immer noch die Rückgabe von mysql_connect() mit, das ist aber /afaik) nicht zwingend notwendig.
Ansonsten nimm mal zum debuggen das @ vor dem mysql_connect weg, damit wirft er eventuelle Fehlermeldungen des Befehls aus.

Ach so, und die Feldernamen in Queries setze ich immer in `, das würde dann so aussehen: INSERT INTO `gbook` (`name`, `eintrag`, `email`) VALUES ('fanrpg', 'test', 'test@tester.de');

Dingsi
08.07.2005, 13:29
Ich würde $db_pas s durch $db_pass und locaohost durch localhost ersetzen. Desweiteren hast du in den letzten beiden Zeilen eine schließende Klammer zu viel.Du solltest inzwischen wissen, dass das der automatische Wort-Brecher des Forums ist. :D Und die doppelte Klammer gehört so. da steht ein die( vor.

Lukas
08.07.2005, 13:40
Hmpf. An den Wortbrecher hab ich nicht gedacht, und das die( wohl übersehen.
-_-

fanrpg
08.07.2005, 13:47
das mit $db_pas s ist nur durch das Copy & Paste passiert in der Original steht das zusammen.

hmm ich habs jetzt auf dem Webspace getestet und da funktioniert es :eek:

Aber warum nicht lokal?

dread
08.07.2005, 13:48
Andere PHP Version?
Anderer Datenbankname?
Anderer Hostname?

fanrpg
08.07.2005, 13:49
die config.php ist auf dem Space anders

Und andere Scripts nach dem selben prinzip funktionieren lokal ja auch mit der selben config.php

Und auf dem Space ist 4.3.3 und lokal 4.3.11 hat das was damit zu tun?