Fehlermeldung - bitte um hilfe

Hallo,

ich bin ganz frisch im PHP und habe nun ein Problem. Diese Fehlermeldung meldet sich, wenn ich meine Datenbank durchsuchen will(homepage: vampiros.bplaced.net/index.php):

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '= '[]'OR name = '[]‘OR team = ‘[]’’ at line 1

Dreamweaver sagt, kein Syntaxfehler vorhanden. Kann mir jemand dabei helfen was ich falsch gemacht habe? Danke

[code]<?php

include “connection.php”;

$sql = “SELECT * FROM PES_ONLINE_DATABASE”;

if (isset($_POST[‘search’])) {

$search_term = mysql_real_escape_string($_POST['search_box']);

$sql .= "WHERE playerID = '[$search_term]'";

$sql .= "OR name = '[$search_term]'";

$sql .= "OR team = '[$search_term]'";
}

$Tabelle_anzeigen = mysql_query($sql) or die(mysql_error());

?>

Search: <input type=“text” name"search_box" value=""/>

<?php while ($row = mysql_fetch_array($Tabelle_anzeigen)) { ?> <?php } ?>
playerID name team
<?php echo $row["playerID"];?> <?php echo $row["name"];?> <?php echo $row["team"];?>
[/code]

Ganz offensichtlich ist $search_term leer.

Stell dein error_reporting vernünftig ein (informiere dich, falls dir der Begriff nichts sagt) – dann wird PHP dir auch verraten, warum.

Dreamweaver gibt dir nur PHP Fehlermeldungen. Deine Fehlermeldung liegt aber im SQL Query, den Dreamweaver nicht überprüfen kann. $sql mal ausgeben, und den Query genau anschauen, könnte das Problem lösen :wink:

Zusätzliche Info:
Ein SQL Query ist ein anderer Kontext, als der PHP Quelltext.

und statt “isset” solltest du “!empty” nehmen… das prüft auch genau wie “isset” ob die variable überhaupt existiert, also is warning free :wink:

Nach PES_ONLINE_DATABASE bzw. vor WHERE fehlt ein Leerzeichen, sofern deine Tabelle nicht PES_ONLINE_DATABASEWHERE heißt.
Erwartet wird ein WHERE, es kommt aber direkt ein OR.

Auch solltest du [$search_term] durch $search_term ersetzen, diese Klammern brauchst du nur bei Arrays und hier würden sie stehen bleiben. (Außer du suchst tatsächlich Werte die, die Klammern beinhalten [123])