Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Well done!
You have completed PHP & Databases with PDO!
You have completed PHP & Databases with PDO!
Preview
Queries are one of the most used items out of all of the interfacing we will want to do with our PDO object. Let's take a closer look at queries using PDO and what these queries will return to us.
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
[MUSIC]
0:00
Queries, are one of the most used items,
0:04
out of all of the interfacing we'll want
to do with our PDO object.
0:07
Let's take a closer look at queries, using
PDO and
0:11
what these queries will return to us.
0:14
The time has now come for us to query our
database and
0:16
get a set of films, that return back to us
directly from the database and
0:21
we'll store it into a variable.
0:25
The way that we're gonna do that is by
running a method that is built in to
0:27
the PDO object.
0:30
So let's take a look at the docs again for
the PDO class.
0:32
We'll just go and open up a new tab.
0:36
Pdo, php, and the first one should be the
pdo manual.
0:38
That's good.
And this is the introduction.
0:43
We're just gonna scroll down here and
click, directly on the pdo class.
0:46
Okay, scroll down.
0:53
Take a look at the methods.
0:54
The one that we're gonna want,
0:56
is over here on the right, about three
quarters of the way down, called query.
0:57
So, it's a public, it will return a pdo
statement, and
1:01
it is query, is the method name.
1:06
And then the single argument is a string,
or the SQL statement that you wanna run.
1:08
You click on the query link, it'll say
just the same,
1:14
it executes a SQL statement, returning
a result set as a PDOStatement object.
1:17
So it's gonna return to us a new object
called a PDOStatement.
1:23
So let's start, by coming over here and
running our query on the db object.
1:26
So, we can do that right here in our
index.php file.
1:32
Let's go ahead and clean up our file a
little bit so
1:36
that we only have the information that we
need in that file.
1:40
So for instance, on the index page, we're
gonna wanna this database connection, but
1:44
we might want that connection on other
pages, as well.
1:48
So we'll create a new file, called
database.php.
1:51
And so let's do a new file, database.php.
1:54
Open up that file and
2:04
we're gonna actually copy the information
from this first section.
2:05
I'm actually just gonna cut it all the way
out.
2:08
All right, save our index file, and I'm
gonna paste this in.
2:11
So, this is still setting our errors to
on, we still want that for now.
2:15
It's gonna be our try-catch block it's
gonna have a db object here on line seven,
2:19
and at the very end of this file, the db
object will still exist.
2:25
The key here, is that we want to include,
or in our case, called require,
2:29
require this file to be present inside of
the index.php file.
2:34
So, let's open up our php tags again,
we'll close them out.
2:40
And then, we'll keep just the code
specific to this index file in here.
2:48
We'll do that by using the internal
function require_once and
2:53
then require once, needs a file name,
which is for us is gonna be database.php.
3:00
All right, close that out.
3:10
And now we have required that the database
file be there.
3:12
The way we can make sure that it's
requiring the file, that it's including
3:16
the file inside the index dot PHP is to
now var_dump and die our actual DB object.
3:20
So let's do that just as an example.
3:26
Dollar sign db as our object or our pdo
object, and
3:33
then we're on the statement die and that
will stop the process.
3:37
So, we'll close this manual out and we'll
go here and hit our preview icon.
3:42
And now you'll see that we are dumping and
dieing our PDO object.
3:47
But this time our database file is
separately included or
3:50
required into our index file.
3:55
So, now that we don't need this code any
longer, I'm gonna actually close it out.
3:57
And we'll continue running our query from
here at the index.php file.
4:01
So let's remove lines 5 and 6, and then
I'm going to create a new
4:07
connection to the database, or rather a
new method to the database, called query.
4:13
And we're gonna do that by doing $db and
then the object operator to query.
4:18
Open and close our parenthesis and close
it out with a semicolon.
4:25
Now if you recall from the documentation
it takes a single string.
4:29
So in our case our single string is going
to be for this particular page.
4:33
Select * from film.
4:39
So we're taking and just grabbing
everything.
4:42
Not very efficient at the moment, but
let's just, just for
4:44
an example, we'll do select, star, film.
4:47
Okay.
Now that is our query.
4:54
Now, it returns to us an object.
4:55
So, we actually need to store this
somewhere.
4:59
So I'm gonna call it results.
5:01
All right.
5:06
And then on the next line, let's dump it
and
5:07
see what the results object looks like.
5:09
So what we'll do, var_dump and then pass
the results.
5:13
Close it out.
5:22
And then die at the next statement, or the
next line.
5:23
Save our file, and then go back and hit
preview again.
5:29
So here we'll see our object, the
PDOStatement object, and
5:32
then it says there is one item in there,
and
5:37
that is the query string, which is select
star from film.
5:39
That's great but, it's really not giving
us a whole lot of information so
5:44
we're gonna actually need to work with
this result set, more in detail and
5:49
we also need to manage our errors because
let's say for instance our query string is
5:55
wrong and we just say like D from film,
which would not be correct.
5:59
And then we go back and refresh, we have
an uncaught exception.
6:05
And like we learned earlier, we don't want
uncaught exceptions in our code.
6:09
So we need to wrap this in a try and
6:13
catch block we'll do that next and work
with the result set.
6:16
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up