Fehler bei Datenbak Selectierung

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 Mauer
[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 . Augenzwinkern
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` (
`titelVARCHAR255 NOT NULL,
`textVARCHAR255 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";
$resultmysql_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" Augenzwinkern

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">
&nbsp;&nbsp;Titel: <input type="text" name="autor"/>
<br />

&nbsp;&nbsp;<textarea name="message" rows="10" cols="40"></textarea>
<br />
&nbsp;&nbsp;<input type="submit" name="submit" value="Eintragen" />
&nbsp;&nbsp;<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";
$resultmysql_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";
$resultmysql_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 Augenzwinkern
Madd Eye
INSERT INTO news(id,titel, text) Values('','', '')


Das heißt also die Variablen sind leer?
[kamui]
Jaein Augenzwinkern Entweder sie sind leer oder du hast dich vertippt. $author =P Beim anderen weiß ich es jetzt nicht auf den ersten Blick. Das kannst du aber durch die($message); testen.