Madd Eye
Mein 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:
|
<?php
$pro_seite = 10;
if (!isset($anzahl)) $anzahl = 0;
$anzahl_test = $anzahl + $pro_seite;
$anzahl_minus = $anzahl - $pro_seite;
$anzahl_plus = $anzahl + $pro_seite;
$MYSQL_HOST = 'localhost';
$MYSQL_USER = 'user';
$MYSQL_PASS = 'passwort';
$MYSQL_DATA = 'datenbank';
$connid = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die('Error: '.mysql_error());
mysql_select_db($MYSQL_DATA) OR die('Fehler bei der Verbindung: '.mysql_error());
$sql = 'Select * From news ORDER BY id desc limit';
$result = mysql_query($sql) or die('Fehler bei der Selctierung: '.mysql_error());
$n = mysql_num_rows($result);
mysql_close($connid);
while (list($titel,$text)=mysql_fetch_row($result))
{echo '$titel';
echo '$text';
}
?> |
|
Fehlermeldung:
code: |
1:
|
Fehler bei der Selctierung: 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 '' at line 1 |
|
Was ist los ich verzweifle noch mit dm Ding
[kamui]
LIMIT was? Fehlt m.E. ne Angabe wie "LIMIT 1" oder "LIMIT 1, 5"
Madd Eye
Ja hier ist mit angabe:
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:
|
<?php
$pro_seite = 10;
if (!isset($anzahl)) $anzahl = 0;
$anzahl_test = $anzahl + $pro_seite;
$anzahl_minus = $anzahl - $pro_seite;
$anzahl_plus = $anzahl + $pro_seite;
$MYSQL_HOST = 'localhost';
$MYSQL_USER = 'user';
$MYSQL_PASS = 'passwort';
$MYSQL_DATA = 'datenbank';
$connid = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die('Error: '.mysql_error());
mysql_select_db($MYSQL_DATA) OR die('Fehler bei der Verbindung: '.mysql_error());
$sql = 'Select * From news ORDER BY id desc limit '.$pro_seite','.$anzahl;
$result = mysql_query($sql) or die('Fehler bei der Selctierung: '.mysql_error());
$n = mysql_num_rows($result);
mysql_close($connid);
while (list($titel,$text)=mysql_fetch_row($result))
{echo '$titel';
echo '$text';
}
?> |
|
Dizzy.w3
Hi,
welchen MySQL-Server benutzt du?
Wie lautet der Query?
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:
|
?php
$pro_seite = 10;
if (!isset($anzahl)) $anzahl = 0;
$anzahl_test = $anzahl + $pro_seite;
$anzahl_minus = $anzahl - $pro_seite;
$anzahl_plus = $anzahl + $pro_seite;
$MYSQL_HOST = 'localhost';
$MYSQL_USER = 'user';
$MYSQL_PASS = 'passwort';
$MYSQL_DATA = 'datenbank';
$connid = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die('Error: '.mysql_error());
mysql_select_db($MYSQL_DATA) OR die('Fehler bei der Verbindung: '.mysql_error());
$sql = 'Select * From news ORDER BY id desc limit '.$pro_seite.','.$anzahl;
echo $sql;
$result = mysql_query($sql) or die('Fehler bei der Selctierung: '.mysql_error());
$n = mysql_num_rows($result);
mysql_close($connid);
while (list($titel,$text)=mysql_fetch_row($result))
{echo '$titel';
echo '$text';
}
?> |
|
Edit:
Danke kui, das blinde Übertragen und Einfügen der Zeile hat die Zeile nicht gesehen.
[kamui]
Fehlt nach
$pro_seite nicht ein
.
Madd Eye
Oh kann sein
Aber wenn ich ihn hinmache
kommt folgendes:
Fehler bei der Selctierung: Unknown column 'id' in 'order clause'
Dizzy.w3
... was bedeutet, dass er das Feld "id" nicht kennt.
Madd Eye
Ja aber warum nicht ist das nciht der Prymär schlüsell?
[kamui]
Wir kennen deine Datenbankstruktur nicht =P
Madd Eye
Der Dateiinhalt zum erstellen der Tabelle:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
|
<?php
CREATE TABLE `news` (
`titel` VARCHAR( 255 ) NOT NULL,
`text` VARCHAR( 255 ) NOT NULL
);
?> |
|
Und hab noch ein Problem im ACP schreibt er mir nicht in die DB:
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:
|
<?php
$author=$_Post["autor"];
$message=$_Post["message"];
$MYSQL_HOST = 'localhost';
$MYSQL_USER = 'user';
$MYSQL_PASS = 'passwort';
$MYSQL_DATA = 'datenbank';
$connid = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die('Error: '.mysql_error());
mysql_select_db($MYSQL_DATA) OR die('Fehler bei der Verbindung: '.mysql_error());
$sql="SELECT * FROM news";
$result= mysql_query($sql) OR die('Fehler beim Verbinden zur Datenbank: '.mysqlerror());
$eintragen = "INSERT INTO news(titel, text) Values('$autor', '$message')";
$eintragen = mysql_query($eintragen) or die("Fehler beim schreiben in die Datenbank: ".mysql_error());
mysql_close($connid)
|
|
[kamui]
Ja, da fehlt Eindeutig das Feld "id"
Normalerweise hat das die Werte
int(11), und ist Primärschlüssel und hat als Extra-Wert
auto_increment ^^ Die Daten helfen dir auf jeden Fall in PHPMyAdmin weiter
Madd Eye
Danke hat mit geholfen das geht nun ABER reinschreiben geht immer noch nicht obwohl es die Tabelle erstellt steht nichts drinnen
Wie das?
Maniac_81
wenn du nun die id auch als Feld in der DB hast, musst du diese auch angeben.
änder mal:
php: |
1:
|
$eintragen = "INSERT INTO news(titel, text) Values('$autor', '$message')"; |
|
in:
php: |
1:
|
$eintragen = "INSERT INTO news(id,titel, text) Values('','$autor', '$message')"; |
|
[kamui]
Entweder so, wie Maniac es vorgeschlagen hat, oder einfach den Query beibehalten. Da das Feld "auto_increment" ist, sollte es auch funktionieren, ohne "id" extra angeben zu müssen.
Überprüf dann via PHPMyAdmin, ob in deinen Felden IDs gesetzt sind.
Falls ja und es geht nicht, setze id by ORDER [...] in Hochkommata, d.h. ´id´.
Madd Eye
Daran liegt es nicht ich hab es ausprobiert wie es Maniac gesagt hat aber das klappt nicht denn egal was ich in die vorgegebenen Textfelder schreibe er schreibt es ncih in die Datenbank egal was ich mache
Es steht einfach nichts darin
hier nocheinmal alles:
Das Formular:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
|
<div class="post">
<div class="post_title">
<h1>News schreiben</h1>
</div>
<h1>Wilkommen Madd Eye. Trage hier deine News ein:</h1><br>
<form action="eintragen.php" method="POST">
Titel: <input type="text" name="autor"/>
<br />
<textarea name="message" rows="10" cols="40"></textarea>
<br />
<input type="submit" name="submit" value="Eintragen" />
<input type="reset" name="submit" value="Zurücksetzen" />
</form>
</div> |
|
eintragen.php:
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:
|
<?php
$author = $_Post["autor"];
$message = $_Post["message"];
$MYSQL_HOST = 'localhost';
$MYSQL_USER = 'user';
$MYSQL_PASS = 'passwort';
$MYSQL_DATA = 'datenbank';
$connid = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die('Error: '.mysql_error());
mysql_select_db($MYSQL_DATA) OR die('Fehler bei der Verbindung: '.mysql_error());
$sql="SELECT * FROM news";
$result= mysql_query($sql) OR die('Fehler beim Verbinden zur Datenbank: '.mysqlerror());
$eintrag = "INSERT INTO news(id,titel, text) Values('','$autor', '$message')";
$eintragen = mysql_query($eintrag) or die("Fehler beim schreiben in die Datenbank: ".mysql_error());
mysql_close($connid);
header("Location: ../index.php");
exit;
?> |
|
[kamui]
Also ich sehe schonmal einen Fehler, der ist allerdings eher zweitrangig.
Dein Problem ist ja momentan, dass das nicht ausgeführt wird, was du willst. Da stellt sich die erste Frage, ist dein Befehl korrekt?
Du hast den Queries brav Variablen zugeteilt, gib diese einfach mal via
die($var); (am besten in der Line, nachdem sie definiert wurde) aus, dann siehst du ob du Fehler geamcht hast in deiner SQL-Programmierung.
Madd Eye
Also ich bin ja ein Anfänger xD
was willst du von mir?
xD
[kamui]
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:
|
<?php
$author = $_Post["autor"];
$message = $_Post["message"];
$MYSQL_HOST = 'localhost';
$MYSQL_USER = 'user';
$MYSQL_PASS = 'passwort';
$MYSQL_DATA = 'datenbank';
$connid = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die('Error: '.mysql_error());
mysql_select_db($MYSQL_DATA) OR die('Fehler bei der Verbindung: '.mysql_error());
$sql="SELECT * FROM news";
$result= mysql_query($sql) OR die('Fehler beim Verbinden zur Datenbank: '.mysqlerror());
$eintrag = "INSERT INTO news(id,titel, text) Values('','$autor', '$message')";
die($eintrag);
$eintragen = mysql_query($eintrag) or die("Fehler beim schreiben in die Datenbank: ".mysql_error());
mysql_close($connid);
header("Location: ../index.php");
exit;
?> |
|
Was ich eingefügt habe ist
die($eintrag);. Führe das mal wie normal aus und sag uns, was dir der Browser ausgibt
Madd Eye
INSERT INTO news(id,titel, text) Values('','', '')
Das heißt also die Variablen sind leer?
[kamui]
Jaein

Entweder sie sind leer oder du hast dich vertippt. $aut
hor =P Beim anderen weiß ich es jetzt nicht auf den ersten Blick. Das kannst du aber durch
die($message); testen.