PHP CRUD Tutorial with MySQL & Bootstrap 4 (Create, Read, Update, Delete)


Upgrade your Clever Techie learning experience:

UPDATE! (9/13/19) New features and improvements for Clever Techie Patreons:

1. Download full source code with detailed comments – easy to learn and understand code
2. Weekly source code file updates by Clever Techie – every time I learn new things about a topic I will add it to the source file and let you know about the update – keep up with the latest coding technologies
3. Library of custom Clever Techie functions with descriptive, easy to understand comments – skyrocket coding productivity, code more efficiently by using Clever library of custom re-usable functions
4. Syntax code summary – memorize and review previously learned code faster
4. Organized file structure – access all Clever Techie lessons, source code, graphics, diagrams and cheat sheet from a single workspace – no more searching around for previously covered material and source code – save enormous amount of time and effort
5. Outline of topics the source file covers – fast review of all previously learned coding lessons
6. Access to all full HD 1080p videos with no ads
7. Console input examples – interactive examples that make it easier to understand and learn coding
8. Access to updated PHP Programming Book by Clever Techie

Download this video’s source code and additional files here:

In this PHP CRUD Tutorial we’re going to create a fully functional PHP CRUD application with Bootstrap and MySQL. PHP CRUD stands for Create, Read, Update, Delete which is an easy way to memorize all the components needed for a fully dynamic web site application. We’re going to be using MySQL statements called INSERT, SELECT, UPDATE, and DELETE which correspond to CRUD functionality.



  1. Thanks a lot man, it was very very interesting the whole 2 days that took me to make this. Can't wait to start seeing your other videos

  2. thank you Mr Clever Techie for the good tutorial but i had this error when i press update button (You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1) please help me on this.

  3. wow that's perfect for coding without a framework. For the basic CRUD, everything has been thought and is decoupled between front end vs back end. Nice works! Another good video would be to show how to protect from SQL Injection, XSS, etc.

  4. excuse me sir. how to fix this

    Warning: count(): Parameter must be an array or an object that implements Countable in C:xampphtdocsportofolioprocess.php on line 41

  5. Great tutorial! The only thing I couldn't make work was the session message for delete. I copied yours exactly and the other messages work. Wonder what the problem could be?

  6. I can't connect database following like that way..

    $mysqli = new mysqli('localhost', 'root', 'mypass123', 'crud') or die(mysqli_error($mysqli));

    But, I can't find the fault of my code.. Plz help anyone.. I'm new in php.. so help me plz..

  7. Hi! When I click the Edit button I get the following message:

    Warning: count(): Parameter must be an array or an object that implements Countable in C:xampphtdocsPHP-CRUDprocess.php on line 36

    Anyone knows how to solve this problem? Cheers

  8. This part of video is excellent… I tried the code same as you instruct.. Came out perfectly except Edit part…. Thrice checked your video.. When I click on update , getting error in process. Php… ??

  9. I converted this from mysqli to PDO and it works perfectly. I have question if anyone cares to enlighten my understanding. I however do not understand how the form is filled from the 'SELECT' query on the process.php…how is the 'id' variable being used in the 'SELECT' query to fill the 'update form'? Yes it works perfectly, but I desire to know 'HOW it works'. Thankyou

  10. I have tried to change it to row of name and row of number but the number row is not displaying, just the name.
    Does someone knows how to fix this?
    Thanks and great tutorial!:)

  11. 29:15 Process.php line 34 array warning error due to count function use this function error will be finished
    if (array($result) !==null){

    $row = $result->fetch_array();

    $name = $row['name'];

    $location = $row['location'];

  12. Solution to fixing the edit functionality:
    from >> if (count($result)==1){
    $row = $result->fetch_array();
    change it to >> if($result>$num_rows){

    $row = $result->fetch_array();
    then define $num_rows = " ";

  13. I got a problem. Everything is working for me except one thing. I have decimals in my database. That's something i want, but when i try to select them from the database to display them in edit mode, i get this problem: Notice: Undefined variable: numberOne in C:xampphtdocsprocess.php on line 57. Could someone please help me. I don't know how to fix this.

  14. how to solve this error:

    Warning: count(): Parameter must be an array or an object that implements Countable in /opt/lampp/htdocs/www/process.php on line 40

    $result = $mysqli->query("SELECT * FROM data WHERE id=$id") or die ($mysqli-> error());
    $row = $result ->fetch_array();


  15. hi, everyting is working, but i have 1 warrning.
    Warning: count(): Parameter must be an array or an object that implements Countable in /home//process.php on line 39

    and this is line 39 – if (count($result)==1){

  16. i tried doing that "edit" part but why does it displays like this?

    "Parameter must be an array or an object that implements Countable"


  17. <link rel="stylesheet" href="" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

    <script src="" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>


Please enter your comment!
Please enter your name here