الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عبارة SELECT

بدأه dream_life في 4 ديسمبر 2011 · 9 رد · 527 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اعزائي في المنتدى PHPكان لدي سؤال وارغب في معرفة الاجابة ان امكن

حاولت عمل الشفرة التالية ولكنها تعطي لي نتائج خاطئة ارجوا التوضيح الخطأ ان كان هناك من يعرف فيه مع الشكر

[

<?php

// ############### code select user from )users( databsae ///&*&*&*&*&*&*&*&*&* &&&&&&& &*&*&*&*&*&*&*&*&*&/////

$host="localhost"; // Host name

$username="root"; // Mysql username

$password=""; // Mysql password

$db_name="child_db"; // Database name

$tbl_name="users"; // Table name

// Connect to server and select database.

mysql_connect("$host", "$username", "$password")or die("cannot connect");

mysql_select_db("$db_name")or die("cannot select DB");

// get data that sent from main_forum

$muser_name=$_POST['tuser_name'];

$muser_password=$_POST['tuser_password'];

$sql="select user_name,user_id from $tbl_name where (user_password='$muser_password' && user_name='$muser_name')";

$result=mysql_query($sql);

if($result==true)

{

$muser_id= 'user_id';

include("main_forum_user.php ");

}

else

{

echo "ERROR IN USER NAME OR PASSWORD";

}

mysql_close();

?>

..................................................................... حيث أنه عندما استدعي الصفحة main_forum_user.php

اكتب فيه

<?php

$host="localhost"; // Host name

$username="root"; // Mysql username

$password=""; // Mysql password

$db_name="child_db"; // Database name

$tbl_name="users"; // Table name

// Connect to server and select databse.

mysql_connect("$host", "$username", "$password")or die("cannot connect");

mysql_select_db("$db_name")or die("cannot select DB");

// get value of id that sent from address bar

//$user_id=$_GET['user_id'];

//هنا رسالة ترحيبية باليوز عند دخوله المنتدى

echo "Wolcome with us ";

//هنا يكتب اسم اليوزر بعد اخذه من خانة التكست echo "'".$muser_name."'";

?>

................................. المشكلة انه في كل الاحوال يكتب اسم المستخدم حتى ان لم يوجد في قاعدة البيانات او في جهه أخرى يكتب لي ان هناك خطأ دائماً ان قمت بأي تعديل

تكرموا بمساعدتي مع الشكر :huh:

تم تعديل هذه المشاركة بواسطة dream_life في 4 ديسمبر 2011 في 15:38

#2

جرب تغيير

                 if($result==true)

ب

                 if(mysql_num_rows($result) > 0)
#3

لماذا تعيد الاتصال بقاعدة البيانات مره اخرى في ملف main_forum_user.php !!

يكفي فقط ان تتصل بقاعدة البيانات في ملف واحد فقط لا داعي لتكرار الاتصال

الكود يعمل بشكل جيد ضع رسالة الخطا حتى نعرف ماهو سبب المشكلة عندك

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#4

اخي herch اشكرك جداً على المحاولة غير اني اظن ان المشكلة ليست هنا لاني بدلتها كما اقترحت ولم يتغير شيء فالمشكلة التي عندي هي في امر الselect لانه كأنه لا يفحص الاسم من قاعدةالبيانات ولا يخرج لي الuser _id من قاعدة البيانات.

:blink:

#5
M.B.O كتب:

لماذا تعيد الاتصال بقاعدة البيانات مره اخرى في ملف main_forum_user.php !!

يكفي فقط ان تتصل بقاعدة البيانات في ملف واحد فقط لا داعي لتكرار الاتصال

الكود يعمل بشكل جيد ضع رسالة الخطا حتى نعرف ماهو سبب المشكلة عندك

اولاً شكراً على اجابتك .

* بالنسبة لسؤالك لماذا اعيد الاتصال بقاعدة البيانات في المنتدىmain_forum_user .php ذلك لاني اغلقت الاتصال بالقاعدة في الصفحة السابقة لو لاحظ

* M.P.O أنا لا يظهر عندي رسائل خطأ وهذا مايحيرني، لانه دائماً يقول لي ان المستخدم موجود بقاعدة البيانات حتى وان لم يكن موجود وان كان موجود وكلمة السر خطأ فأنه يقول لي انه موجود ( بالمعنى ان الخطأ بالSELECT) وليس بغيره ولكن لا اعلم اين. :blush:

#6

لا تقوم في الكود باسترجاع أي شيء من قاعدة البيانات، فقط تنفذ الاستعلام

if(mysql_num_rows($result) > 0)
{
	$row = mysql_fetch_assoc($result);
	$muser_id= $row['user_id'];
	include("main_forum_user.php ");
}

تم تعديل هذه المشاركة بواسطة herch في 5 ديسمبر 2011 في 00:06

#7

هذا هو الكود الصحيح أخي بعد التعديل من طرفي

<?php
// ############### code select user from )users( databsae ///&*&*&*&*&*&*&*&*&* &&&&&&& &*&*&*&*&*&*&*&*&*&/////
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="child_db"; // Database name
$tbl_name="users"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// get data that sent from main_forum

$muser_name=$_POST['tuser_name'];

$muser_password=$_POST['tuser_password'];

$sql="select user_name,user_id from $tbl_name where (user_password='$muser_password' && user_name='$muser_name')";

$result=mysql_query($sql);

//هذا ما أضفته لك في الكود ليشتغل أخي 

$data= mysql_fetch_array($result);



if($data[0]!="")
{

$muser_id= 'user_id';
include("main_forum_user.php ");



}
else
{

echo "ERROR IN USER NAME OR PASSWORD";
}

mysql_close();
?>
#8
herch كتب:

لا تقوم في الكود باسترجاع أي شيء من قاعدة البيانات، فقط تنفذ الاستعلام

if(mysql_num_rows($result) > 0)
{
	$row = mysql_fetch_assoc($result);
	$muser_id= $row['user_id'];
	include("main_forum_user.php ");
}

الف شكر على اجابتك :lol: ،،، مشي معايا فعلاً بس كنت حابة اسأل اذا امكن

ماعمل الدالتين 1- mysql_fetch_assoc

2-mysql_num_rows

ممكن تشرح لي لو سمحت.

#9
FaresDhill كتب:

هذا هو الكود الصحيح أخي بعد التعديل من طرفي

<?php
// ############### code select user from )users( databsae ///&*&*&*&*&*&*&*&*&* &&&&&&& &*&*&*&*&*&*&*&*&*&/////
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="child_db"; // Database name
$tbl_name="users"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// get data that sent from main_forum

$muser_name=$_POST['tuser_name'];

$muser_password=$_POST['tuser_password'];

$sql="select user_name,user_id from $tbl_name where (user_password='$muser_password' && user_name='$muser_name')";

$result=mysql_query($sql);

//هذا ما أضفته لك في الكود ليشتغل أخي 

$data= mysql_fetch_array($result);



if($data[0]!="")
{

$muser_id= 'user_id';
include("main_forum_user.php ");



}
else
{

echo "ERROR IN USER NAME OR PASSWORD";
}

mysql_close();
?>

FARES شكراً على تعبك لقد عمل معي فقط سؤال هل قصدت بهذه العبارة f($data[0]!="" انه اذا كانت المصفوفة ليست فاضيه فأعد الي قيمة اول عمود في قاعدة البيانات ( هل سيعيد اول حقل في قاعدة البيانات او انه سوف يعيد حسب اختياري الذي احدده بعد ذلك). :)

#10

mysql_fetch_assoc تعيد لك السطر الناتج من قاعدة البيانات على شكل associative array

mysql_num_rows تعيد لك عدد السطور التي حصلت عليها من ال SELECT

مواضيع مشابهة