اذهب إلى المحتوى
  • 0

مشكلة في ارسال البيانات لقاعدة البيانات

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

<?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; 
	}
 
}
?>

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

أعتقد أنه لديك مُشكلة في الإستعلام الذي يتم تنفيذه يُمكنك عرض الأخطاء في حالة حدوثها بإستخدام:

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."')";
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...