No video

PHP REST API From Scratch [1] - Database & Read

  Рет қаралды 510,973

Traversy Media

Traversy Media

6 жыл бұрын

In this series we will put together a REST API using PHP with NO FRAMEWORK. We will use object oriented programming along with PDO to connect and query a MySQL database.
Code:
github.com/bra...
💖 Become a Patron: Show support & get perks!
/ traversymedia
Website & Udemy Courses
www.traversymed...
Follow Traversy Media:
/ traversymedia
/ traversymedia
/ traversymedia

Пікірлер: 361
@RealToughCandy
@RealToughCandy 6 жыл бұрын
This is awesome! Can't wait to watch it all later tonight. We use an older framework to build our APIs (Apigility) at work and the documentation sucks. I think this is the series I need to understand what's going on under the hood. Thank you!!
@TraversyMedia
@TraversyMedia 6 жыл бұрын
RealToughCandy You’re very welcome 😉
@_Omni
@_Omni 6 жыл бұрын
N00B
@RealToughCandy
@RealToughCandy 6 жыл бұрын
@Omni, thank you!
@ionutcatalingheorghiu8953
@ionutcatalingheorghiu8953 4 жыл бұрын
@@RealToughCandy hah.. Just saw one of your videos. And what a coïncidence. 1st comment i see is yours ! This means i need to subscribe ! 😂
@MrBoiks
@MrBoiks 3 жыл бұрын
This is pretty epic
@MrBenjjj6
@MrBenjjj6 6 жыл бұрын
For those like me who are still quite new, doing it without frameworks is really useful as I actually learn a lot about how things work. Thank you!
@ernestassimutis6239
@ernestassimutis6239 6 жыл бұрын
these little project series most exciting thing on your channel, thank you! I started my developer career a month ago, your role in it was HUGE Brad!
@lifelover69
@lifelover69 5 жыл бұрын
Thank you for doing this with NO FRAMEWORK! Frameworks come and go, but the language remains. Many tutorials use {insert current trendy framework}, which obscures the inner workings of php. Great job done, mate.
@andresz1606
@andresz1606 4 жыл бұрын
IMO frameworks are for people too lazy to learn the actual language and use it properly.
@codesus99
@codesus99 4 жыл бұрын
I've spent 3weeks studying how API works but I didn't find any helpful resource like this serie. Thank you man we appreciate u. Please help us with a php PDO series with an simple project example 🙏🙏🙏🙏🙏
@traceyshock2898
@traceyshock2898 6 жыл бұрын
I love PHP and have been using it off and on for about 10 years. I don't program full time. But i am always trying to learn new things. Thank you Brad, you are a really good instructor. I will be checking out your other courses. I actually learned a lot.
@noorulhudachoudhary7009
@noorulhudachoudhary7009 Жыл бұрын
I love normal humans
@johnmahugu
@johnmahugu 2 ай бұрын
this is awesome, i created a php api from scratch today at work and this video goes to show me what needs to be improved as i made it in pure php, thanks alot. :)
@engsiyad
@engsiyad 6 жыл бұрын
Man you read my mind. I have been searching this for 2 months
@RoulTrid
@RoulTrid 2 жыл бұрын
This tutorial was a life saver for me. I made my Rest Api and connected 3 servers. Thank your for this.
@wmd6917
@wmd6917 2 жыл бұрын
As an old Informix DBA, esql server side vi guy I found this demo dead simple and it demystified what all the kiddies drone on about these days. Well done sir!
@jaakkosuninen
@jaakkosuninen 2 жыл бұрын
Calm and clear presentation. I tried and got this working. Thank you very much. Now I can take my time to get acquainted to it.
@toomaxbeat7847
@toomaxbeat7847 6 жыл бұрын
That's really cool !! You and your videos are the main reasons to keep learning and continuing in this field
@TraversyMedia
@TraversyMedia 6 жыл бұрын
TOoma Dev thanks. That actually really means a lot and keeps me going
@NicholasIbarra01
@NicholasIbarra01 6 жыл бұрын
Why? Why do you make life's hardest problems seem like nothing?! Your videos never fail to impress, you have a true talent. Thank you for this, I was looking for an easy way to implement a PHP back end without using an adapter framework. This is perfect!
@sandy3028
@sandy3028 4 жыл бұрын
Doing my first rest api now, feels like my head gonna explode. This video helped me a lot!
@FabricioEGiovanni
@FabricioEGiovanni 6 жыл бұрын
Awesome video! I'm currently migrating to Web Development and these 32:17 minutes gave me a bunch of valuable stuff + the main theme of the video. I've subscribed and will certainly watch the other classes. Thanks for your great contribution Brad.
@shuckle2134
@shuckle2134 5 жыл бұрын
Brad, not only are you a very bright and intelligent person, but you also posses the generosity to make amazing and professional tutorials like these for the community to view for free. Hats of to you sir :)
@Tanzeel431
@Tanzeel431 6 жыл бұрын
The only code on the internet that actually worked. Thank you for sharing on git.
@_Caose
@_Caose 2 жыл бұрын
This is exactly what I was trying to build. Thank you
@justsain3236
@justsain3236 3 жыл бұрын
I've been integrating 3rd party API's recently and finally got given the task of creating an endpoint, i managed to figure it out although it wasn't my best work....always learning though so.....here i am. Great vid :)
@Khayabushprojects
@Khayabushprojects 6 жыл бұрын
I've never loved PHP but this changed my mind i will learn it soon hey brad thank you buddy
@helluci6449
@helluci6449 4 жыл бұрын
2020 update would be nice
@PASTRAMIKick
@PASTRAMIKick 3 жыл бұрын
PHP is quite old, is there a need for an update?
@gothicwave7761
@gothicwave7761 3 жыл бұрын
@@PASTRAMIKick It's about as old as Java, Python, and Javascript, and it's being regularly updated? That said this is still PHP 7, so there's probably little to no need to for an update.
@nobytes2
@nobytes2 2 жыл бұрын
Why? php still the same lol
@jaimesastre1046
@jaimesastre1046 5 жыл бұрын
wow, just saw your video. Great presentation making it all so easy. I knew all the pieces, but here put together so structured and clear, just perfect!! Bravo!
@DucMinhTeaching
@DucMinhTeaching 3 жыл бұрын
For most databases, PDOStatement::rowCount() does not return the number of rows affected by a SELECT statement. Instead, use PDO::query() to issue a SELECT COUNT(*) statement with the same predicates as your intended SELECT statement, then use PDOStatement::fetchColumn() to retrieve the number of matching rows.
@mkgamingentertainment3786
@mkgamingentertainment3786 4 жыл бұрын
You can replace LEFT JOIN with WHERE clause such as "WHERE p.category_id = c.id" will do the same work as LEFT JOIN
@Satenc0
@Satenc0 5 жыл бұрын
we need a part 4 where you implement this with an user interface :D
@mchamouda4915
@mchamouda4915 6 жыл бұрын
Really very Nice i Watched Many Videos About Restful API but i'm not understand well but when i watched this video i gated Helpful now i'm creating my own API without any other Help thank you Very Much , sorry for my Bad English .
@jackmanjls
@jackmanjls 5 жыл бұрын
Very seldom do I run across a video that is as well organized and instructive as this one....thumbs up.
@techware1470
@techware1470 6 жыл бұрын
Hey thanks man! I'am currently working on my own CMS to make it easy for my clients to change text and all that stuff on the websides I build for them. It's all based on PHP in the backend and this tutorial is just what I was looking for. Because I#m experimenting with object oriented PHP and not that happy with my solution so far. So great that you help me with new input!
@donovanfrancis7184
@donovanfrancis7184 4 жыл бұрын
Thanks for this really good tutorial! All the documentation that I have read indicates that the PDOStatement::rowCount method is not guaranteed to work for mysql databases. One way to workaround this is to do a "Select count(*) " using the same where conditions as the original query then fetch the results.
@thaof1898
@thaof1898 Жыл бұрын
thank you so much, i did it :D and deployed it in my own host website
@claudwatari
@claudwatari 2 жыл бұрын
2021, I'm here. Thanks for this. Very helpful.
@amirzakaria8829
@amirzakaria8829 2 жыл бұрын
It was so professional. appreciation in an infinite loop. wow. expressions, style of coding, explanation, logic and procedure was so ideal. Thank you man. Thanks a lot. You are one of a kind really. We need you and more like you.
@STSN3116
@STSN3116 6 жыл бұрын
I really like the way you stored the entire output in "data"
@abhishekverma614
@abhishekverma614 3 жыл бұрын
Awesome, this channel never disappoints whenever I come here, thanks a lot !!!
@florianhermann1558
@florianhermann1558 5 жыл бұрын
Hi Brad, thanks for your work. If I can suggest you something : I know the goal is to make something from scratch but you could use composer for autoloading and a basic router like Fast Route. It will be a more real world approach !
@ryanspivey1819
@ryanspivey1819 2 жыл бұрын
Great tutorial, Brad. My only critique would be using the post table as an example since I'm so new to the PHP syntax, I felt confused at times if you were making a POST request or referencing the post table. That may just be me though.
@timeforrice
@timeforrice Жыл бұрын
Great video. Love seeing him making PHP content more
@riskyrici
@riskyrici 6 жыл бұрын
You are our saviour Brad. I can't thank you enough. This is really helpful and it means a lot. Huge fan!!!
@shovkatmasimova1885
@shovkatmasimova1885 3 жыл бұрын
First thank you for this video. I have a question. In the Read API data from db is coming with "data" object ( example: {"data":[{"id":"30","title":"","body":"","author":"","category_id":"0","category_name":null}]} ). How can I do this for the CREATE API. So how can I send data to the database in the "data" object? (example: {"data":[{"id":"15","title":"test","body":"test","author":"test","category_id":"15","category_name":null}]} )
@rajdhanki8740
@rajdhanki8740 6 жыл бұрын
Just one word awesome u r reading the programmers mind
@garretthamelin3653
@garretthamelin3653 5 жыл бұрын
Dude, thank you!!!! you're the hero we need but not the one that we deserve.... If we ever meet in person drinks are on me!
@herbertk9266
@herbertk9266 6 жыл бұрын
Brad your the best thks for your time, thanks for sharing
@samueltorres2485
@samueltorres2485 5 жыл бұрын
You're tutorials are always lit! Thanks Brad!
@carollillefield2462
@carollillefield2462 3 жыл бұрын
Thank you for all you do!!!! When in doubt you are my go to!
@ramratech1919
@ramratech1919 4 жыл бұрын
hi brad, you explain complex topics in a simple way. Thank you for sharing good tutorials.
@uweopfern
@uweopfern 5 жыл бұрын
I love this so much currently having project that i am developing APIS in core php using PDO, can you please make authentication using JWT
@sodiqoyedotun3185
@sodiqoyedotun3185 5 жыл бұрын
Hello Kindly refer me to a tutorial when u find one. Thank u
@reeverbstudios
@reeverbstudios 2 жыл бұрын
Nice one Mr! I hope I can get everything you say here...It has been days looking for a good PHP PDO class.
@patryk3852
@patryk3852 4 жыл бұрын
Brad, you are like a GOLD!!
@edenr1988
@edenr1988 5 жыл бұрын
Hey awesome video ! btw, just to point out you could save more line of codes using PDO::FETCH_CLASS, because you already have models for this case, something like: $row = $result->fetch(PDO::FETCH_CLASS, 'Post'); then you could just json_encode that object
@Sid629
@Sid629 5 жыл бұрын
Thank you very much for your tutorials Mr. Traversy.
@salamkottayam490
@salamkottayam490 5 жыл бұрын
Very well explained and easy to understand. if You can add utf8 support for the data also it will be helpful. Because while I implement for utf-8 it got stuck and i found the solution. Add : $this->conn->exec("set names utf8"); right after the new PDO statement in Database class. Thank You dear.
@user-gz1rc2ik7w
@user-gz1rc2ik7w 5 жыл бұрын
Thank you for the comment! It saved me a bunch of time.
@truthShallPrevailRRVS
@truthShallPrevailRRVS 4 жыл бұрын
TIp: IMO An easier (and cleaner) way to write SQL queries is by using double quotes and flower braces when you're including an object/associativeArray element. $fetchLimit = 5; $filter = array("month"=>"2020-08-30"); $query = " SELECT * FROM posts WHERE user_id='{$params->user_id}' AND month='{$filter['month']}' LIMIT $fetchLimit ; ";
@spencer5028
@spencer5028 2 жыл бұрын
Should use prepared statements when accepting user inputs, a few extra steps but safer and many useful properties
@jroseme
@jroseme Жыл бұрын
Awesome tutorial, just works.
@gemilaguinaldo6723
@gemilaguinaldo6723 3 жыл бұрын
now i understand how fast we create api's via frameworks. there's so many tedious codes. but I think this will be faster as we are using vanilla php
@SajidLatifDK
@SajidLatifDK 6 жыл бұрын
Thanks for making my day again 👍
@GauravLonkar
@GauravLonkar 3 жыл бұрын
+1 for the Quality of the Code you write. ❤️
@JanJanuszNosacz
@JanJanuszNosacz 3 жыл бұрын
Really appreciate all those comments in code.
@bulldog2024
@bulldog2024 6 жыл бұрын
Great tutorial. Just what I was looking for.
@wsh4and
@wsh4and 6 жыл бұрын
Wow, you read my mind 😁. Just what I need for school assignment.
@stephh4392
@stephh4392 6 жыл бұрын
This is exactly what I want to learn!!!!Thank u!!!!Love your videos!!!
@womeninmovesolutionschanne1065
@womeninmovesolutionschanne1065 2 жыл бұрын
My favourite tutor
@MrRicharddaniel
@MrRicharddaniel 6 жыл бұрын
More PHP Please.... All Freelancers need to learn PHP to get mroe clients from all small businesses or wordpress. Please make more content focused on freelancing (PHP)
@abdullahquhtani4247
@abdullahquhtani4247 3 жыл бұрын
Could you please send the method to connect to MSSQL Server? And also confirm whether it is gonna be slow unless using ODBC some ppl said that It’s slow when use PDO with SQL server. Thank you.
@bodyandblood
@bodyandblood 5 жыл бұрын
Many thanks. The ajaxCall.html form id should read 'form' and not 'apiform' . This is necessary so as to match var url = $('form').serialize(); in the ajaxCall.js file. Now ajaxCall.html will work. Very small correction in a magnificent tutorial. Bless you.
@shivadigitalweb9265
@shivadigitalweb9265 5 жыл бұрын
Hi, Brad. Could you please make video tutorials on JWT/Auth REST API in PHP and Laravel. I could not find any videos on your channel based on Authentication. Thanks.
@sodiqoyedotun3185
@sodiqoyedotun3185 5 жыл бұрын
Hello Kindly refer me to a tutorial when u find one. Thank u
@Mohammed24441
@Mohammed24441 4 жыл бұрын
kzfaq.info/sun/PLe30vg_FG4OSbizS6Gpw_LICp9zBcmjZU
@kamalhm-dev
@kamalhm-dev 6 жыл бұрын
Just in case you need an idea, I'm waiting for fullstack Vue.js, but no pressure ;D
@TraversyMedia
@TraversyMedia 6 жыл бұрын
Kamal Mahmud ill keep that in mind 😉
@johnjavieridmilao5247
@johnjavieridmilao5247 5 жыл бұрын
@@TraversyMedia good job
@bidam1984
@bidam1984 6 жыл бұрын
I love PHP, but PHP friendzoned me
@KD-xp4di
@KD-xp4di 5 жыл бұрын
Oh man. You too?
@spacenodus7959
@spacenodus7959 5 жыл бұрын
Python will never friendzone you
@Aru_im
@Aru_im 5 жыл бұрын
It's funny because in my language PHP stand for "Pemberi Harapan Palsu" translated as "False Promise Giver" as in friendzone.
@commanderbensisko
@commanderbensisko 5 жыл бұрын
Should have bought some phlowers every once in a while
@thecardboardboyz6320
@thecardboardboyz6320 5 жыл бұрын
Orang indonesia detected
@Sm0ke821
@Sm0ke821 6 жыл бұрын
thanks THANKS my teacher never explained how the fuck do an api rest and told us you have google.......... THANKS YOU SAVED ME 6 MONTHS WITH THAT TEACHER AGAIN LOVE FROM CHILE (the country xD)
@mstafadev6729
@mstafadev6729 6 жыл бұрын
i' am always wondering how you manage your time bcs this is not easy man, thank you
@TraversyMedia
@TraversyMedia 6 жыл бұрын
mstafa dev its hard but luckily its part my full time job
@mattlyxd
@mattlyxd 6 жыл бұрын
It'd be neat to see an episode about how you manage your time for the rest of us, maybe give us some pointers? :) I've also wondered as I'm trying to catch up with you! Absolute huge fan of your channel!
@IsfhanAhmed
@IsfhanAhmed 6 жыл бұрын
me also wana meet you
@yomyomcam
@yomyomcam 6 жыл бұрын
new suscriber today! great videos.
@sfa327
@sfa327 6 жыл бұрын
Thank you, you are the best Can you do video on how to make it secure and access by token or it required authentication
@ChintanUmarani
@ChintanUmarani 6 жыл бұрын
simple and well explained, Kudos 👍
@molotovctail6972
@molotovctail6972 5 жыл бұрын
I've been looking at your Slim REST tutorial - is this new approach preferred or are they very similar? I know the Slim tutorial is two years old now. And thanks for the tutorials and much appreciate your down to earth approach!
@astianmuchui
@astianmuchui 3 жыл бұрын
In all honesty, This is my coding university
@Fowrli
@Fowrli 3 жыл бұрын
dudeeee you're awesome
@rosselliot8971
@rosselliot8971 6 жыл бұрын
Brad, what's really needed are authentication tuts for APIs, JWT or otherwise.
@TaelurAlexis
@TaelurAlexis 6 жыл бұрын
Ross Elliot he seriously already has videos on that.
@rosselliot8971
@rosselliot8971 6 жыл бұрын
TaelurAlexis seriously?
@edwardmuss
@edwardmuss 5 жыл бұрын
Awesome tutorial. Thanks very much
@elricho72
@elricho72 2 жыл бұрын
Great video! thanks for sharing, it is very usefull
@KletoReese
@KletoReese 5 жыл бұрын
Excellent timing!! Thank You!
@safara_umarov
@safara_umarov 4 жыл бұрын
Thank you very much for interesting videos. Respect 😍
@rahulvanmali1406
@rahulvanmali1406 6 жыл бұрын
Waiting for a video on docker container + node js microservices! I guess it's in your to-do list
@xCodeSoul
@xCodeSoul 5 жыл бұрын
For better usage and security for mysql Use medoo for execute any sql query , its simple ans secure Thanks
@KayahanKahrman
@KayahanKahrman 5 жыл бұрын
This video made me subscribe to channel. Thanx a lot!
@tarihart8385
@tarihart8385 6 жыл бұрын
Thanks for this series.Please make a series on vuejs,angular 5 or reactjs and graphql with mongodb.Also a series on sailsjs auth with passport.Or using vuejs, angular with a symfony 4 api.Or angular with laravel.Or this api with vuejs or angular.Or vuejs or angular with ruby on rails.Or authentication with adonisjs.Or vuejs or angular with an adonisjs api!Hope you consider these in future!Thanks anyways!
@robinsonchukwu7295
@robinsonchukwu7295 3 жыл бұрын
Thanks man... God bless you
@sudipmodi3122
@sudipmodi3122 2 жыл бұрын
Great tutorial thank you
@jerryurena6370
@jerryurena6370 5 жыл бұрын
you should consider adding pagination data filtering to these
@nonchalant8473
@nonchalant8473 6 жыл бұрын
Thank you. Great series... keep it up!
@jorgevazquez3317
@jorgevazquez3317 5 жыл бұрын
I uploaded my app to my live share hosting server but I get "no page found." as long as I tested the app using php -S localhost:8080/quote it worked, but when I tried using it without the port number, just through apache, it doesn't work. I have created .htaccess file and enabled mod_rewrite in apache according to slim framework web server documentation for apache. How can I get this running in apache? thanks
@informatiquedz9800
@informatiquedz9800 6 жыл бұрын
Hello, thank you for all your videos :) can you make a video to haw secure passwords before storing them in the database in PHP? And will you do more courses about PHP?
@Alturic
@Alturic 6 жыл бұрын
It's as simple as - $hashedPassword = password_hash($providedPassword) - , of course you get set the algorithm, provide an actual salt if you want, etc. php.net/manual/en/function.password-hash.php
@DucMinhTeaching
@DucMinhTeaching 3 жыл бұрын
Hi, thank you for the video. I wonder why the result of the query is a boolean? This confuses me so much!
@LuisOtavioZimmermann
@LuisOtavioZimmermann 4 жыл бұрын
Hey Brad! There's a tutorial on how to add auth on that API? I've been searching that for a long time and still didn't found. Thanks for all the help and all of those videos. You'r videos are amazing, big thanks from Brazil.
@YoannesGeisslersilva
@YoannesGeisslersilva 6 жыл бұрын
For me it makes way easier to understand: $str_concat = "mysql:host=$this->host;dbname=$this->db_name"; Dot/quotes/dots/quotes are quite confusing sometimes.
@xcoderteam6972
@xcoderteam6972 5 жыл бұрын
this video is very nice. Thank you for video
@luisedudias
@luisedudias 3 жыл бұрын
Great video! Thank you very much!
@kabirnarayanjha
@kabirnarayanjha 5 жыл бұрын
Tq so.much for this gr8 tutorial and code
@jediampm
@jediampm 4 жыл бұрын
some questions: why not using routes and prettier URL ( without php extension)? why are you not restrict the loading data only for get?
@veerth6959
@veerth6959 6 жыл бұрын
Thank you so much sir, it's great video
@AbdullahAbbasAwan
@AbdullahAbbasAwan 6 жыл бұрын
Thank you so much. Please add one more video in this course about HOW to upload whole project or files on GIT & Gist. Thanks
@CorporalPoon
@CorporalPoon 6 жыл бұрын
omg just what i wanted. thank you
PHP REST API From Scratch [2] - Single & Create
25:01
Traversy Media
Рет қаралды 147 М.
What is a REST API?
9:12
IBM Technology
Рет қаралды 1,5 МЛН
Survive 100 Days In Nuclear Bunker, Win $500,000
32:21
MrBeast
Рет қаралды 157 МЛН
Parenting hacks and gadgets against mosquitoes 🦟👶
00:21
Let's GLOW!
Рет қаралды 12 МЛН
Pool Bed Prank By My Grandpa 😂 #funny
00:47
SKITS
Рет қаралды 19 МЛН
Brutally honest advice for new .NET Web Developers
7:19
Ed Andersen
Рет қаралды 141 М.
GraphQL vs REST: Which is Better for APIs?
7:31
IBM Technology
Рет қаралды 195 М.
HTMX Crash Course | Dynamic Pages Without Writing Any JavaScript
56:47
Traversy Media
Рет қаралды 145 М.
What Is A RESTful API? Explanation of REST & HTTP
18:38
Traversy Media
Рет қаралды 1,4 МЛН
How to (and how not to) design REST APIs
14:28
CodeOpinion
Рет қаралды 52 М.
REST API - что это? Создаем API с нуля на Express
1:21:28
Владилен Минин
Рет қаралды 306 М.
Survive 100 Days In Nuclear Bunker, Win $500,000
32:21
MrBeast
Рет қаралды 157 МЛН