اتصال به پایگاه داده در php

sustain

تازه وارد
با سلام

من یه فرمی طراحی کردم جدولش رو هم توی پایگاه داده ساختم اما نمیدونم چطور میتونم به جدول متصل شم و اطلاعاتی رو که توی فرم وارد میشه و ارسال میشه داخل جدول نشون داده بشه. توی سایت های مختلف کد های زیادی دیدم اما از هیچکدوم جواب نگرفتم. توی پایگاه داده هیچ error ی ندارم فقط اطلاعات فرم رو نشون نمیده توی جدول. ممنون میشم راهنماییم کنید.

 
آخرین ویرایش توسط مدیر:

MahdiY

راهبر انجمن
سلام

فرمی که نوشتید را به همراه جدولی که طراحی کردید اینجا بگذارید

 

farsadf

کاربر عضو
با سلام

در زبان PHP برای اتصال به پایگاه های داده توابعی به صورت پیشفرض وجود دارند که میتوانند اسکریپت شما را به پایگاه داده متصل کنند. در صورتی که تمایل دارید از پایگاه داده MySQL استفاده کنید مطلب زیر را مطالعه فرمایید و در صورتی که تمایل به استفاده از پایگاه داده دیگری را دارید به لینک مراجعه نمایید. (دیتابیس های پشتیبانی شده به واسطه ماژول PDO)

نحوه اتصال به دیتابیس MySQL:

$db = mysqli_connect(HOST, USERNAME, PASSWORD, DBNAME);


نحوه وارد کردن اطلاعات به دیتابیس توسط توابع MySQLi (به صورت شئ):

$db->query("INSERT INTO `table` (field1, field2, ...) VALUES ('field1 value', 'field2 value', ...)");


یا استفاده از توابع MySQLi:

mysqli_query($db, "INSERT INTO `table` (field1, field2, ...) VALUES ('field1 value', 'field2 value', ...)");


توضیحات:

  1. مقدار ... در دو عبارت منظور از عدم وجود محدودیت در فیلد هاست.
  2. در صورتی که کد قرار است در وبسایتی استفاده شود بهتر از قبل از وارد سازی به دیتابیس از فیلتر های گوناگونی جهت جلوگیری از حملات SQL-Injection و XSS رد شود.
  3. شما میتوانید در مورد دستورات SQL در وبسایت مطالعه بیشتری بفرمایید و یا به کتاب "بانک اطلاعاتی" سوم هنرستان رشته کامپیوتر (شاخه فنی و حرفه ای) فصل پنجم مراجعه نمایید. ( )
  4. در صورتی که میخواهید در مورد توابع MySQLi بیشتر مطالعه نمایید نیز میتوانید به صفحه در وبسایت w3shcools نگاهی بیاندازید.
امیدوارم که با این پاسخ توانسته باشم کمکی به شما بکنم.

با تشکر
فرساد ف.

 
آخرین ویرایش توسط مدیر:

sustain

تازه وارد
سلام

فرمی که نوشتید را به همراه جدولی که طراحی کردید اینجا بگذارید
این کد فرمم هستش​

<form name="form1" method="post" action="1.php">
    <div id="Layer10" style="position:absolute; left:800px; top:277px; width:166px; height:50px; z-index:12">
<label>نام</label></div>
<div id="Layer6" style="position:absolute; left:628px; top:279px; width:150px; height:27px; z-index:14">
  <input type="text" name="name">
</div>
<div id="Layer12" style="position:absolute; left:621px; top:326px; width:161px; height:29px; z-index:15">
  <input type="text" name="family">
</div>
<div id="Layer13" style="position:absolute; left:699px; top:407px; width:59px; height:33px; z-index:16">
  <input type="submit" name="Submit" value="ارسال">
</div>
<label>
<div id="Layer11" style="position:absolute; left:800px; top:324px; width:161px; height:50px; z-index:13">
  <label>نام خانوادگی</label></div></label>
  </form>​

</body>​

</html>​

 ​

عکس جدول رو هم پیوست کردم​

ممنون​

You must be registered for see images attach


 

sustain

تازه وارد
با سلام

در زبان PHP برای اتصال به پایگاه های داده توابعی به صورت پیشفرض وجود دارند که میتوانند اسکریپت شما را به پایگاه داده متصل کنند. در صورتی که تمایل دارید از پایگاه داده MySQL استفاده کنید مطلب زیر را مطالعه فرمایید و در صورتی که تمایل به استفاده از پایگاه داده دیگری را دارید به لینک مراجعه نمایید. (دیتابیس های پشتیبانی شده به واسطه ماژول PDO)

نحوه اتصال به دیتابیس MySQL:

$db = mysqli_connect(HOST, USERNAME, PASSWORD, DBNAME);


نحوه وارد کردن اطلاعات به دیتابیس توسط توابع MySQLi (به صورت شئ):

$db->query("INSERT INTO `table` (field1, field2, ...) VALUES ('field1 value', 'field2 value', ...)");


یا استفاده از توابع MySQLi:

mysqli_query($db, "INSERT INTO `table` (field1, field2, ...) VALUES ('field1 value', 'field2 value', ...)");


توضیحات:

  1. مقدار ... در دو عبارت منظور از عدم وجود محدودیت در فیلد هاست.
  2. در صورتی که کد قرار است در وبسایتی استفاده شود بهتر از قبل از وارد سازی به دیتابیس از فیلتر های گوناگونی جهت جلوگیری از حملات SQL-Injection و XSS رد شود.
  3. شما میتوانید در مورد دستورات SQL در وبسایت مطالعه بیشتری بفرمایید و یا به کتاب "بانک اطلاعاتی" سوم هنرستان رشته کامپیوتر (شاخه فنی و حرفه ای) فصل پنجم مراجعه نمایید. ( )
  4. در صورتی که میخواهید در مورد توابع MySQLi بیشتر مطالعه نمایید نیز میتوانید به صفحه در وبسایت w3shcools نگاهی بیاندازید.
امیدوارم که با این پاسخ توانسته باشم کمکی به شما بکنم.

با تشکر
فرساد ف.
ممنونم اما این کد ها رو هم امتحان کردم و جواب نگرفتم :-s

 

farsadf

کاربر عضو
ممنونم اما این کد ها رو هم امتحان کردم و جواب نگرفتم :-s
دوست عزیز با توجه به اطلاعاتی که ارائه نمودید بنده این قطعه کد رو نوشتم، فقط لازمه فرمتون رو به این فایل post کنید.

<?php
if(!empty($_POST['name']) && !empty($_POST['family'])) {
$db = mysqli_connect('localhost', 'root', '', 'emensazan');
if($db)
mysqli_query($db, "INSERT INTO `sefaresh` VALUES('$_POST[name]', '$_POST[family]')");
}
?>


نکته:

  1. من اطلاعات دیتابیس رو از روی عکس برداشتم ممکنه اشتباه کرده باشم در اینصورت باید ویرایشش کنید.
  2. اطلاعات وصل کننده دیتابیس هم پیشفرض wamp هست (نام کاربری root بدون پسورد)
درضمن بهتره که از نرم افزار هایی که کد میسازن استفاده نکنید. (مثلا left:800px یکمی غیر معقول هست)

 

sustain

تازه وارد
دوست عزیز با توجه به اطلاعاتی که ارائه نمودید بنده این قطعه کد رو نوشتم، فقط لازمه فرمتون رو به این فایل post کنید.

<?php
if(!empty($_POST['name']) && !empty($_POST['family'])) {
$db = mysqli_connect('localhost', 'root', '', 'emensazan');
if($db)
mysqli_query($db, "INSERT INTO `sefaresh` VALUES('$_POST[name]', '$_POST[family]')");
}
?>


نکته:

  1. من اطلاعات دیتابیس رو از روی عکس برداشتم ممکنه اشتباه کرده باشم در اینصورت باید ویرایشش کنید.
  2. اطلاعات وصل کننده دیتابیس هم پیشفرض wamp هست (نام کاربری root بدون پسورد)
درضمن بهتره که از نرم افزار هایی که کد میسازن استفاده نکنید. (مثلا left:800px یکمی غیر معقول هست)
دوست گرامی خییییییییلیی ممنون از راهنمایی هاتون .   جواب داد.  من توی خط آخر به جای $db اسم جدول رو میذاشتم که اشتباه بود. فقط یک سوال دیگه برای این که  اطلاعات فارسی رو هم توی جدول نشون بده باید چی کار کنم؟

 
آخرین ویرایش توسط مدیر:

farsadf

کاربر عضو
mysqli_set_charset($db, "utf8");


خط فوق رو قبل از if($db) قرار بدید.

 
بالا