entspricht. Während ich diese Formulardateneingabe getestet hatte, hatte ich keine Probleme. Als ich versuchte, komplexeren Text hinzuzufügen, wurde dieser Fehler in dem Textfeld, das von $post_content = $_POST['post_content'];
mit numerischen und nicht alphabetischen Zeichen aufgenommen wird, gefunden.QUERY FAILED: Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MariaDB-Server-Version für die richtige Syntax in der Nähe von
Frage fehlgeschlagen: Sie haben einen Fehler in Ihrer SQL-Syntax; Sie in der Bedienungsanleitung für die richtige Syntax zu Ihrem MariaDB Server-Version entspricht in der Nähe von
Mein Code zu verwenden, ist wie folgt:
<?php
if (isset($_POST['create_post'])){
$post_title = $_POST['title'];
$post_author = $_POST['author'];
$post_category_id = $_POST['post_category_id'];
$post_status = $_POST['post_status'];
$post_image = $_FILES['image']['name'];
$post_image_temp = $_FILES['image']['tmp_name'];
$post_tag = $_POST['post_tag'];
$post_content = $_POST['post_content'];
$post_date = date('d-m-y');
$post_comment_count = 4;
move_uploaded_file($post_image_temp, "../images/$post_image");
$query = "INSERT INTO posts (post_category_id, post_title, post_author, post_date, post_image, post_content, post_tag, post_comment_count, post_status) ";
$query .= "VALUES ({$post_category_id},'{$post_title}','{$post_author}',now(),'{$post_image}','{$post_content}','{$post_tag}','{$post_comment_count}','{$post_status}') ";
$create_post_query = mysqli_query($connection, $query);
checkQuery($create_post_query);
}
?>
<form action="" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="post_status">Post Title</label>
<input type="text" class="form-control" name="title">
</div>
<div class="form-group">
<label for="post_category">Post Category Id</label>
<input type="text" class="form-control" name="post_category_id" placeholder="Please enter a number">
</div>
<div class="form-group">
<label for="post_author">Post Author</label>
<input type="text" class="form-control" name="author">
</div>
<div class="form-group">
<label for="post_status">Post Status</label>
<input type="text" class="form-control" name="post_status">
</div>
<div class="form-group">
<label for="post_image">Post Image</label>
<input type="file" name="image">
</div>
<div class="form-group">
<label for="post_tag">Post Tags</label>
<input type="text" class="form-control" name="post_tag">
</div>
<div class="form-group">
<label for="post_tags">Post Content</label>
<textarea class="form-control" name="post_content" id="" cols="30" rows="10"></textarea>
</div>
<div class="form-group">
<input class="btn btn-primary" type="submit" name="create_post" value="Publish Post">
</div>
</form>
ich mit meiner $post_content = $_POST['post_content'];
mit mysqli_real_escape_string
in Kombination versucht und hatte keinen Erfolg, Das führt mich zu der Annahme, dass meine Abfragesyntax deaktiviert ist. Jede Hilfe wird sehr geschätzt.
Sie vorbereitet und gebundene Abfragen verwenden sollten. Es ist viel einfacher, auf einer Abfrage wie diesem erfolgreich zu sein, und Sie müssen sich nicht um die SQL-Injektion kümmern. – Rasclatt
echo Ihre Abfrage und überprüfen Sie, was sie zurückgeben !! – Saty
Sie sind offen für [** SQL injection **] (https://www.owasp.org/index.php/SQL_Injection). Sie stoßen auf Fehler, weil Sie Ihr eigenes Skript brechen. Wie @Rasclatt sagte, sollten Sie vorbereitete Anweisungen verwenden. –