Advertisement
asadsuman

PDO IN PHP

Apr 12th, 2014
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.43 KB | None | 0 0
  1. <!--------------------------------------------PDO PHP DATA OBJECT------------------------->
  2. ১। PDO এর সুবিধা হল আমরা MYSQL QUERY টা একবার লিখে রেখে তা multiple ভাবে ব্যবহার করতে পারব PDO এর মাধ্যমে।
  3. ২। কোন প্রকার sql injection যাতে আমার system কে attack করতে না পারে এর জন্য pdo ব্যবহার করা হয় ।
  4. <!----------------------------------Learn more about PDO see the blew link------------------------------------->
  5. http://code.tutsplus.com/tutorials/why-you-should-be-using-phps-pdo-for-database-access--net-12059
  6. pdo database এর কোন specific syntax নয় কিন্তু এই process টি database এ access করে খুব সহজে।
  7.  
  8. <!---------------------------------------connecting database using pdo---------config.php------------------------->
  9. <?php
  10. //daatabase connection using pdo
  11. $dbhost = 'localhost';
  12. $dbname = 'coderhousebd';
  13. $dbuser = 'root';
  14. $dbpass = '';
  15. try{
  16. $db = new PDO("mysql:host={$dbhost };dbname={$dbname}",$dbuser,$dbpass);
  17. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  18. }
  19. catch(PDOException $e){
  20. echo "Connection error".$e->getMessage();
  21.  
  22. }
  23.  
  24. //mysql_connect('localhost','root','') or die('can not connect to the server');//old connection process
  25. //mysql_select_db('coderhousebd') or die('cannot select database');//old connection process
  26. ?>
  27. <!----------------------------------------------------------login.php----------------------------------------------->
  28.  
  29. ১। প্রথমে mysql query তাকে pdo মাধ্যমে লিখা হচ্ছে মানে prepare() method দিয়ে prepare করা হচ্ছে
  30. ২। তারপর সেটাকে বিন্ড bind করা হচ্ছে bingParam()method দ্বারা
  31. ৩। তারপর সেটাকে প্রকাস করা হচ্ছে execute() method দ্বারা
  32. তবে মনে রাখার বিষয় হল যে database connection দেয়া আছে মানে যে variable দিয়ে database connection দেয়া আছে সেই variable এর মাধ্যমে উপরের কাজ করতে হবে।
  33. code:
  34. $statement = $db->prepare("select * from tb_login where username=:username and password=:password");
  35. $statement->bindParam(":username",$_POST['username']);
  36. $statement->bindParam(":password",$password );
  37. $statement->execute();
  38. এখানে নতুন variable নিয়ে prepare দ্বারা prepare করা হচ্ছে sql query কে
  39. $db->prepare("select * from tb_login where username=:(this is reference )database field name and password=:(this is reference )database field name");
  40. $statement->bindParam(":(this is reference )database field name",database field টা কোথায় আছে মানে value কোথায় assign করা আছে);
  41. $statement->execute();finally execute the value;
  42. <!---------------------------without bindParam()---------------------another way for PDO shotway------------------------------->
  43. bindParam() দেয়ার সুবিধা হল যে এটা ব্যবহার করলে চাহিদা অনুযায়ী data show করানো সম্ভব
  44. আর array() ব্যবহার করার সুবিধা হল code short হয়ে যায় ।
  45.  
  46.  
  47. code :
  48. //Another way for PDO
  49. $statement = $db->prepare("select * from tb_login where username=? and password=?");
  50. $statement->execute(array($_POST['username'],$password));
  51. $num = $statement->rowCount();
  52. <!-----------------------------------------------------------------insert.php-------PDO---------------------------------->
  53. $statement = $db->prepare("insert into tb_student(st_name,st_roll,st_age,st_email) values(?,?,?,?)");
  54. $statement->execute(array($_POST['st_name'],$_POST['st_roll'],$_POST['st_age'],$_POST['st_email']));
  55. <!------------------------------------------view.php-----------------------------PDO-------------------------------->
  56. $statement = $db->prepare("select * from tb_student"); এইটা দ্বারা query prepare() করা হল
  57. এখানে কোন value অন্য কোন জায়গা থেকে নিয়ে আসার প্রয়োজন নাই তাই সুধু
  58. $statement->execute(); হবে।
  59. এখন আমি কিভাবে value গুলো database থেকে নিয়ে দেখাব তার জন্য ঃ
  60. $result = $statement->fetchAll(PDO::FETCH_ASSOC);আমি একতা variable নিয়ে fetchAll() দ্বারা সব value database থেকে নিয়ে আসলাম , FETCH_ASSOC দ্বারা বুঝাইতেছে যে মান আসবে সেই মানটা হবে associative array .
  61.  
  62. code :
  63. <?php
  64. //$result = mysql_query("select * from tb_student");
  65. $i = 0;
  66. $statement = $db->prepare("select * from tb_student");
  67. $statement->execute();
  68. $result = $statement->fetchAll(PDO::FETCH_ASSOC);
  69. foreach($result as $row){
  70. $i++;
  71. ?>
  72. <tr>
  73. <td><?php echo $i;?></td>
  74. <td><?php echo $row['st_name'];?></td>
  75. <td><?php echo $row['st_roll'];?></td>
  76. <td><?php echo $row['st_age'];?></td>
  77. <td><?php echo $row['st_email'];?></td>
  78. <td>
  79. <a href="update.php?id=<?php echo $row['st_id'];?>">Edit</a>&nbsp;|&nbsp;
  80. <a onclick="return confirm_delete();"href="delete.php?id=<?php echo $row['st_id'];?>">Delete</a>
  81. </td>
  82.  
  83. </tr>
  84. <?php
  85. }
  86. ?>
  87.  
  88.  
  89. <!-------------------------------------------------------------------Update.php----------------------------->
  90. //Data update using PDO
  91. $statement = $db->prepare("update tb_student set st_name=?,st_roll=?,st_age=?,st_email=? where st_id=?");
  92. $statement->execute(array($_POST['st_name'],$_POST['st_roll'],$_POST['st_age'],$_POST['st_email'],$id));
  93. loop
  94. <?php
  95. //while($row=mysql_fetch_array($result)){
  96. //$result = mysql_query("select * from tb_student where st_id='$id' ");
  97. $statement = $db->prepare("select * from tb_student where st_id=? ");
  98. $statement->execute(array($id));
  99. $result = $statement->fetchAll(PDO::FETCH_ASSOC);
  100. foreach($result as $row){
  101. $st_name = $row['st_name'];
  102. $st_roll = $row['st_roll'];
  103. $st_age = $row['st_age'];
  104. $st_email = $row['st_email'];
  105. }
  106. ?>
  107. <!--------------------------------------------------------PDO delete.php------------------------------------->
  108. <?php
  109. include('config.php');
  110. if(isset($_REQUEST['id'])){
  111. $id = $_REQUEST['id'];//catching url request in view.php page
  112. $statement = $db->prepare("delete from tb_student where st_id=?");
  113. $statement->execute(array($id));
  114. //$result = mysql_query("delete from tb_student where st_id='$id'");
  115. header('location: view.php');
  116. }
  117. else{
  118. header('location: view.php');
  119. }
  120.  
  121. ?>
  122. <!-----------------------------------------change_password.php--------------------------------------------------->
  123. $statement = $db->prepare("select * from tb_login where password=?");
  124. $statement->execute(array($password));
  125. $num = $statement->rowCount();
  126. //Data update using PDO
  127. $statement = $db->prepare("update tb_login set password=? where id=1");
  128. $statement->execute(array($new_password));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement