Php MySql For Beginners


Published on

This presentationis only for beginners.

Published in: Technology
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Php MySql For Beginners

  1. 1. PHP - MySQL For Beginners Author : Priti Solanki A tutorial only for beginners !!
  2. 2. PHP - MySQL Agenda <ul><ul><li>INTRODUCTION </li></ul></ul><ul><li>  </li></ul><ul><ul><li>PREDEFINED CONSTANTS </li></ul></ul><ul><li>  </li></ul><ul><ul><li>EXPLORE PHP-MYSQL FUNCTION </li></ul></ul><ul><li>  </li></ul><ul><ul><li>REFERENCES </li></ul></ul>Author : Priti Solanki
  3. 3. INTRODUCTION <ul><ul><li>What is MySQL. </li></ul></ul><ul><li>       MySQL is an  open source SQL relational database  </li></ul><ul><li>       management system. </li></ul><ul><ul><li>How MySQL is related to PHP ? </li></ul></ul><ul><li>      Mysql acts as a back-end database server and helps in data </li></ul><ul><li>storage and manipulation of data stored at MySQL database server. </li></ul><ul><li>  </li></ul><ul><ul><li>php.ini default setting for MYSQL extension is mysqli which is design to support mysql versions 4.1.3 and above </li></ul></ul><ul><ul><li>php.ini setting for MySQL for version older than 4.1.3 </li></ul></ul><ul><ul><ul><li>Locate and Open php.ini. </li></ul></ul></ul><ul><ul><ul><li>Search php_mysql.dll </li></ul></ul></ul><ul><ul><ul><li>Uncomment - ;extension=php_mysql.dll&quot; i.e. remove &quot;;“ from front . </li></ul></ul></ul><ul><ul><ul><li>Restart your http server. </li></ul></ul></ul><ul><li>[What is php.ini please follow this link -] </li></ul>
  4. 4. PREDEFINED CONSTANTS   Before exploring the mysql funtions one has to understand the predefined constants provided by the extension. MYSQL_CLIENT_COMPRESS - This flag tells the client application to enable compression in the network protocol when talking to mysqld. MYSQL_CLIENT_IGNORE_SPACE - Allow space after function names []. MYSQL_CLIENT_INTERACTIVE - Allow interactive_timeout in seconds . interactive_timeout is a Mysql server system variabled which decide upon how many seconds the server waits for activity on an interactive connection before closing it.
  5. 5. PREDEFINED CONSTANT   MySQL fetch constants. MYSQL_ASSOC - Columns are returned into the array having the fieldname as the array index. MYSQL_BOTH - Columns are returned into the array having both a numerical index and the fieldname as the array index. MYSQL_NUM - Columns are returned into the array having a numerical index to the fields. This index starts with 0, the first field in the result. Now let us explore PHP-MySQL related funtions..........
  6. 6. PHP-MYSQL FUNCTION In &quot;PHP MySQL Function&quot; section I have tried to explore the commonly used functions and have also tried to answer some of the very basic questions which beginner developers might counter.   Question 1:  How to connect to mysql via php? Function name : mysql_connect() Description : Open a connection to a MySQL server.On successful connection returns a MySQL link identifier and on failure will return FALSE. Syntax : resource mysql_connect  ([ string $server = ini_get(&quot;mysql.default_host&quot;)  [, string $username = ini_get(&quot;mysql.default_user&quot;)  [, string $password = ini_get(&quot;mysql.default_password&quot;)  [, bool $new_link = false  [, int $client_flags = 0  ]]]]] )
  7. 7. <?php /* Author Notes: Change $host,$user,$password as per you DB*/ $host='localhost'; $user='root'; $password='xxxx'; //get connect to mysql $link = mysql_connect($host,$user,$password); //check for connection if (!$link) {     die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; //close the DB connection mysql_close($link); ?> Save the code in testdb.php [in root folder]  and run http://localhost/testdb.php in the browser .If the string displays 'Connected successfully' on browser it means you are connected with the database succesfully.
  8. 8. If you have defined default host,username and password in php.ini then you can do get those variables as shown below. $host=ini_get(&quot;mysql.default_host&quot;); $username=ini_get(&quot;mysql.default_user&quot;); $password= ini_get(&quot;mysql.default_password&quot;); ini_get() is the php funtion to get the value of a configuration value.Setting ini value refer section [INTRODUCTION] above.
  9. 9. Question 2 : How to select table in database? Function name : mysql_select_db() Description : Select a MySQL database.Returns TRUE on success or FALSE on failure. Syntax : bool mysql_select_db(string $database_name  [, resource $link_identifier]) Example : <?php /*Author's Notes - Get default setting from php.ini*/   $host=ini_get(&quot;mysql.default_host&quot;); $username=ini_get(&quot;mysql.default_user&quot;); $password= ini_get(&quot;mysql.default_password&quot;);
  10. 10. //get connect to mysql $link = mysql_connect($host,$username,$password); //check for connection if (!$link) {    die('Could not connect: ' . mysql_error());} echo 'Connected successfully <br/>'; $database='learndb'; if(mysql_select_db($database)) { echo &quot;we are working with database: &quot;.$database;} else {  echo &quot;There is some error: &quot;.mysql_error(); die();} //close the DB connection mysql_close($link); ?> Output: Connected successfully we are working with database: learndb
  11. 11. Question 3 : How to select values from MySQL tables?. Function : mysql_query($sql) Description :Send a MySQL query Syntax :resource mysql_query  ( string $query  [, resource $link_identifier  ] ) Example : Add following code before mysql_close($link) statement. //Start Querying table $selectSQL='select * from employee'; $resultSet=mysql_query($selectSQL); echo &quot;<table border='1'>&quot;; echo &quot;<tr><td><b>Name</b></td><td><b>Department</b></td><td><b>Designation</b></td></tr>&quot;;
  12. 12. while($recordSet= mysql_fetch_array($resultSet,MYSQL_ASSOC)) {     echo '<tr><td>'.$recordSet['EmployeeFirstName'].' '.$recordSet['EmployeeLastName'].'</td><td>'.$recordSet['Department'].'</td><td>'.$recordSet['Designation'].'</td></tr>'; } Output: Connected successfully we are working with database: learndb we are working with database: learndb Name            Department    Designation Kiba Inuzuka    IT        SE Naruto Uzamaki    IT        SSE . .
  13. 13. Function : mysql_fetch_assoc Description : Fetch a result row as an associative array.mysql_fetch_assoc() is equivalent to calling mysql_fetch_array() with MYSQL_ASSOC. Syntax : array mysql_fetch_assoc  ( resource $result  ) Example : while($recordSet= mysql_fetch_array($resultSet,MYSQL_ASSOC)) {     echo '<tr><td>'.$recordSet['EmployeeFirstName'].' '.$recordSet['EmployeeLastName'].'</td><td>'.$recordSet['Department'].'</td><td>'.$recordSet['Designation'].'</td></tr>'; } Can be replaced like while($recordSet= mysql_fetch_assoc($resultSet)) {     echo '<tr><td>'.$recordSet['EmployeeFirstName'].' '.$recordSet['EmployeeLastName'].'</td><td>'.$recordSet['Department'].'</td><td>'.$recordSet['Designation'].'</td></tr>'; }
  14. 14. Function : mysql_fetch_row Description : Get a result row as an enumerated array.mysql_fetch_row() fetches one row of data from the result associated with the specified result identifier   Syntax : array mysql_fetch_row  ( resource $result  )   Example : while($recordSet= mysql_fetch_row($resultSet)) {     echo '<tr><td>'.$recordSet[1].' '.$recordSet[2].'</td><td>'.$recordSet[3].'</td><td>'.$recordSet[4].'</td></tr>'; }
  15. 15. Function : mysql_fetch_object Description : Fetch a result row as an object.Returns an object with string properties that correspond to the fetched row, or FALSE if there are no more rows. Syntax : object mysql_fetch_object  ( resource $result  [, string $class_name  [, array $params  ]] ) Example : while($recordSet= mysql_fetch_object($resultSet)) {     echo '<tr><td>'.$recordSet->EmployeeFirstName.' '.$recordSet->EmployeeLastName.'</td><td>'.$recordSet->Department.'</td><td>'.$recordSet->Designation.'</td></tr>'; }
  16. 16. Question : How to get the meta data of MySQL table? Function : mysql_fetch_field Syntax : object mysql_fetch_field  ( resource $result  [, int $field_offset = 0  ] )   Description : Get column information from a result and return as an object.   Example :   /* get column metadata */ $i = 0; while ($i < mysql_num_fields($resultSet)) {     echo &quot;Information for column $i:<br /> &quot;;     $meta = mysql_fetch_field($resultSet, $i);     if (!$meta) {         echo &quot;No information available<br /> &quot;;     }     Program Contd..... Program Contd.....
  17. 17. echo &quot;<pre>     blob:         $meta->blob     max_length:   $meta->max_length     multiple_key: $meta->multiple_key     name:         $meta->name     not_null:     $meta->not_null     numeric:      $meta->numeric     primary_key:  $meta->primary_key     table:        $meta->table     type:         $meta->type     default:      $meta->def     unique_key:   $meta->unique_key     unsigned:     $meta->unsigned     zerofill:     $meta->zerofill     </pre>&quot;;     $i++; } mysql_fetch_field - Get number of fields in result.
  18. 18. So.... It seems by now we have done a pretty good job in understanding the basic of DB programming in PHP. But how to perform DML statements ??? update ,insert or delete!!!! To insert,Update and Delete SQL Statement you simply have to write your query and send to Mysql to execute. //Create your query $selectSQL='INSERT INTO `learndb`.`employee` (`EmployeeId` ,`EmployeeFirstName` ,`EmployeeLastName` ,`Department` ,`Designation`)VALUES (NULL , 'Masashi', 'Kishimoto ', 'IS', 'SA')'; //Send  the query to mysql server to execut $resultSet=mysql_query($selectSQL); Similar for the Update and Delete statements.
  19. 19. DATABASE SCRIPT   CREATE DATABASE `LearnDB` ;  CREATE TABLE `learndb`.`Employee` ( `EmployeeId` TINYINT( 11 ) NOT NULL , `EmployeeFirstName` VARCHAR( 25 ) NOT NULL , `EmployeeLastName` VARCHAR( 25 ) NOT NULL , `Department` ENUM( 'IT', 'Admin', 'HR', 'IS' ) NOT NULL , `Designation` ENUM( 'SE', 'SSE', 'APM', 'DM', 'PM', 'SA','HR','TL' ) NOT NULL , PRIMARY KEY ( `EmployeeId` ) ) ENGINE = MYISAM ;
  20. 20. DATABASE SCRIPT INSERT INTO `employee` (`EmployeeId`, `EmployeeFirstName`, `EmployeeLastName`, `Department`, `Designation`) VALUES (1, 'Kiba', 'Inuzuka', 'IT', 'SE'), (2, 'Naruto', 'Uzamaki', 'IT', 'SSE'), (3, 'Sakura', 'Chan', 'HR', 'HR'), (4, 'Kakashi', 'Hatake ', 'IT', 'PM'), (5, 'Minato', 'Namikaze', 'IT', 'DM'), (6, 'Gai ', 'sensi', 'IS', 'TL'), (7, 'Sasuke', 'uchiha', 'Admin', 'APM'), (8, 'Hinata', 'Hyuuga ', 'IT', 'PM'), (9, ' Shino ', 'Aburame', 'Admin', 'HR'), (10, ' Kurenai ', 'Yuhi', 'IT', 'TL'), (11, ' Choji ', 'Akimichi', 'IT', 'SSE'), (12, 'Shikamaru', 'Nara', 'IT', 'APM'), (13, ' Ino ', 'Yamanaka', 'Admin', 'PM'), (14, ' Asuma ', 'Sarutobi', 'IT', 'TL'), (15, ' Neji ', 'Hyuga', 'IT', 'PM'), (16, ' Iruka ', 'Umino', 'Admin', 'SA'), (17, 'Konohamaru ', 'Sarutobi', 'IT', 'SE');
  21. 21. REFERENCES Author : Priti Solanki Explore more php-mysql funtions : So here I finish my attempt to make you understand the basics of database programming with PHP-MySQL.I believe by now you must be confident enough to implement these functions in your project as per your requirement. Spend great time with php-mysql funtions. I request readers to drop in their comments to modify and improve this presentation for total beginners. If there are questions or any example is not clear please write to me at. [email_address]