Hamada Ahmed نشر 5 يوليو 2021 أرسل تقرير نشر 5 يوليو 2021 السلام عليكم اخواني الاعزاء لدي مشكلة لا اعرفها وهي ان البيانات لا يتم ارسالها للقاعدة الجدول CREATE TABLE `messages_groups` ( `id` int(11) NOT NULL AUTO_INCREMENT, `sender_id` varchar(256) NOT NULL, `sender_name` varchar(256) NOT NULL, `picture` varchar(256) NOT NULL, `group` varchar(256) NOT NULL, `message` text NOT NULL, PRIMARY KEY ( `id` ) )ENGINE=MyISAM DEFAULT CHARSET=utf8; connect_file.php <?php $DATABASE_HOST = 'localhost'; $DATABASE_USER = 'root'; $DATABASE_PASS = ''; $DATABASE_NAME = 'test'; $db = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME); // Check connection if($db === false){ die("ERROR: Could not connect. " . mysqli_connect_error()); } ?> index.php <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { //##### Add record when Add Record Button is click ######### $("#messages_form_groups").submit(function(e) { e.preventDefault(); //build a post data structure var sender_id = $("#my_sender_id").val(), sender_name = $("#my_sender_name").val(), picture = $("#my_picture").val(), group = $("#my_group").val(), message = $("#my_message").val(); if (sender_id == '' || sender_name == '' || picture == '' || group == '' || message == '') { alert("All fields are required"); return false; } jQuery.ajax({ type: "POST", // Post / Get method url: "response.php", //Where form data is sent on submission dataType: "text", // Data type, HTML, json etc. data: { sender_id: sender_id, sender_name: sender_name, picture: picture, group: group, message: message }, //Form variables success: function(response) { $("#norec").hide(); $("#responds").append(response); $('#messages_form_groups').trigger('reset'); }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError); } }); }); }); </script> <form id="messages_form_groups" > <input name="sender_id" id="my_sender_id" value="test"><br> <input name="sender_name" id="my_sender_name" value="test"><br> <input name="picture" id="my_picture" value="test"><br> <input name="group" id="my_group" value="test"><br> <textarea name="message" id="my_message"></textarea> <br> <INPUT type="submit" id="FormSubmit" > </form> <?php include_once("connect_file.php"); $Result = mysqli_query($db, "SELECT * FROM messages_groups"); $count = mysqli_num_rows($Result); ?> <table id="responds" border="1"> <tr> <th>#</th> <th>sender_id</th> <th>sender_name</th> <th>picture</th> <th>group</th> <th>Message</th> </tr> <?php if ($count > 0) : ?> <?php while ($row = mysqli_fetch_array($Result)) : ?> <tr> <td><?= $row['id'] ?></td> <td><?= $row['sender_id'] ?></td> <td><?= $row['sender_name'] ?></td> <td><?= $row['picture'] ?></td> <td><?= $row['group'] ?></td> <td><?= $row['Message'] ?></td> </tr> <?php endwhile; ?> <?php else : ?> <tr id="norec"> <td colspan="4">No Records</td> </tr> <?php endif; ?> </table> response.php <?php //include db configuration file include_once("connect_file.php"); if(isset($_POST["message"]) && strlen($_POST["message"])>0) { $sender_id = mysqli_real_escape_string($db, $_POST["sender_id"]); $sender_name = mysqli_real_escape_string($db, $_POST["sender_name"]); $picture = mysqli_real_escape_string($db, $_POST["picture"]); $group = mysqli_real_escape_string($db, $_POST["group"]); $message = mysqli_real_escape_string($db, $_POST["message"]); $query = "INSERT INTO messages_groups(sender_id, sender_name, picture, group, message) VALUES ('".$sender_id."', '".$sender_name."','".$picture."','".$group."','".$message."')"; if(mysqli_query($db, $query)) { $id = mysqli_insert_id($db); $result = "<tr> <td>$id</td> <td>$sender_id</td> <td>$sender_name</td> <td>$picture</td> <td>$group</td> <td>$message</td> </tr>"; echo $result; } } ?> 1 اقتباس
1 سمير عبود نشر 5 يوليو 2021 أرسل تقرير نشر 5 يوليو 2021 أعتقد أنه لديك مُشكلة في الإستعلام الذي يتم تنفيذه يُمكنك عرض الأخطاء في حالة حدوثها بإستخدام: mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); في ملف الإتصال، حيث إذا أضفته و جربت إرسال البيانات سيعرض لك رسالة تُخبرك بوجود خطأ ما في الإستعلام. سبب الخطأ هو وجود الكلمة group في الإستعلام حيث أن هذه الكلمة تُعتبر كلمة محجوزة في لغة sql لذلك في هذه الحالة يجب إحاطة الكلمة ب علامتي إقتباس مائلة `group` كما يُمكنك إحاطة كل الحقول بهذه العلامات ليُصبح الإستعلام بهذا الشكل: $query = "INSERT INTO `messages_groups` (`sender_id`, `sender_name`, `picture`, `group`, `message`) VALUES ('".$sender_id."', '".$sender_name."','".$picture."','".$group."','".$message."')"; 2 اقتباس
السؤال
Hamada Ahmed
السلام عليكم اخواني الاعزاء لدي مشكلة لا اعرفها وهي ان البيانات لا يتم ارسالها للقاعدة
الجدول
CREATE TABLE `messages_groups` ( `id` int(11) NOT NULL AUTO_INCREMENT, `sender_id` varchar(256) NOT NULL, `sender_name` varchar(256) NOT NULL, `picture` varchar(256) NOT NULL, `group` varchar(256) NOT NULL, `message` text NOT NULL, PRIMARY KEY ( `id` ) )ENGINE=MyISAM DEFAULT CHARSET=utf8;
connect_file.php
index.php
response.php
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.