Fehler beim Speichern in MySQL Datenbank

Wasservogel
Hallo,

ich habe ein kleines Script geschrieben mit denen ich Texte, usw. in eine Datenbank speichern kann, allerdings bekomm ich beim Abschicken drei Fehler:

code:
1:
2:
3:
4:
5:
6:
Warning: mysql(): supplied argument is not a valid MySQL-Link resource in  ***** on line 23

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in ***** on line 24

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in ****** on line 25


Hier der Code:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:

<html>

<head>
<meta http-equiv="Content-Language" content="de">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Neue Seite 1</title>
</head>

<body>

<?php
if($_POST['flag']==1)
{
$sqlhost "localhost";
$sqluser "*****";
$sqlpassword "******";
$sqldb "*******";

$tablename="entries";
$sql="INSERT INTO $tablename (title, content, date) values ('".$_POST['title']."', '".$_POST['content']."', now())";
$link mysql($sqlhost$sqluser$sqlpassword);
mysql_select_db($sqldb$link);
mysql_query($sql$link);
$message="Gespeichert";

echo $message;
}

if(!$_POST['flag'])
{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="flag" value="1">
<p>Titel:<br>
<input type="text" name="titel" value="<?php echo $_POST['title']; ?>"></p>
<p>text:<br>
<textarea name="content">
<?php echo $_POST['content']; ?>
</textarea>
</p>
<input type="submit" value="send">
</form>

<?php
}
?>
</body>

</html>


Die Logindaten und der Datenbankname stimmen zu 100%.

Danke im Voraus Augenzwinkern
DrPCox
php:
1:
$sql="INSERT INTO $tablename (title, content, date) values ('".$_POST['title']."', '".$_POST['content']."', now())";


ersetz mal mit:

php:
1:
$sql="INSERT INTO '$tablename' (title, content, date) values ('".$_POST['title']."', '".$_POST['content']."', now())";
Wasservogel
Hat leider nicht funktioniert, ich bekomm immer noch den gleichen Fehler. Trotzdem Danke Augenzwinkern
Broken Sword
Wer lesen kann, ist klar im Vorteil.
mysql? Eher mysql_connect
code:
1:
2:
3:
$link = mysql($sqlhost, $sqluser, $sqlpassword);


http://de2.php.net/function.mysql-connect

Gruß
Broken Sword
Wasservogel
Zitat:
Original von Broken Sword
Wer lesen kann, ist klar im Vorteil.
mysql? Eher mysql_connect
code:
1:
2:
3:
$link = mysql($sqlhost, $sqluser, $sqlpassword);


http://de2.php.net/function.mysql-connect

Gruß
Broken Sword


Danke, jetzt sind die Fehler weg, aber in meiner Datenbank wird nichts gespeichert.
xundy
Sicher das $tablename einen Value hat?


ansonsten solltest du mal mysql_error verwenden.


mfg
Wasservogel
Danke, das hab ich mal gemacht, dann bekomm ich folgenden Fehler:

code:
1:
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 ''entries' (title, content, date) values ('', 'def', now())' at line 1 


Leider find ich keinen Fehler.
EDIT: Gefunden, es klappt, wenn ich den Tabellennamen nicht in eine Variable setze, warum auch immer. Allerdings wird in der Datenbank nur der Text und das Datum gespeichert, der Titel nicht.
Dizzy.w3
Mach mal echo $sql, das sollte dir dein wahres Problem zeigen. - Der Titel ist leer, sprich, da kommt von der Absendeseite nix.


Du kannst es der Uebersicht wegen auch so schreiben:

php:
1:
$sql="INSERT INTO $tablename (title, content, date) values ('$_POST['title']', '$_POST['content']', now())";
Wasservogel
Dann bekomm ich das:

code:
1:
0: INSERT INTO entries (title, content, date) values ('', 'einszweidrei', now())

Also liegt der Fehler wahrscheinlich im Formularteil, oder?
EDIT: Problem gelöst, hatte im Formularteil einen Buchstabendreher