Build Your Own DatabaseDriven Website Using PHP amp;amp; MySQL [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Build Your Own DatabaseDriven Website Using PHP amp;amp; MySQL [Electronic resources] - نسخه متنی

Kevin Yank

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید








Connecting to MySQL with PHP

Before you can get content out of your MySQL database for inclusion
in a Web page, you must first know how to establish a connection to MySQL
from inside a PHP script. Back in "Getting Started with MySQL",
you used a program called mysql that allowed you to make
such a connection. PHP has no need of any special program, however; support
for connecting to MySQL is built right into the language. The following PHP
function call establishes the connection:

mysql_connect(address, username, password);

Here, address is the IP address or host name
of the computer on which the MySQL server software is running ("localhost" if
it's running on the same computer as the Web server software), and username and password are
the same MySQL user name and password you used to connect to the MySQL server
in "Getting Started with MySQL".

You may remember that functions in PHP usually return (output)
a value when they are called. Don't worry if this doesn't ring any bells for
you—it's a detail that I glossed over when I first discussed functions.
In addition to doing something useful when they are called, most functions
output a value, and that value may be stored in a variable for later use.
The mysql_connect function shown above, for example,
returns a number that identifies the connection that has been established.
Since we intend to make use of the connection, we should hold onto this value.
Here's an example of how we might connect to our MySQL server.

$dbcnx = mysql_connect('localhost', 'root', 'mypasswd');

As described above, the values of the three function parameters may
differ for your MySQL server. What's important to see here is that the value
returned by mysql_connect (which we'll call a connection
identifier
) is stored in a variable named $dbcnx.

As the MySQL server is a completely separate piece of software, we must
consider the possibility that the server is unavailable or inaccessible due
to a network outage, or because the username/password combination you provided
is not accepted by the server. In such cases, the mysql_connect function
doesn't return a connection identifier, as no connection is established. Instead,
it returns false. This allows us to react to such failures using an if statement:

$dbcnx = @mysql_connect('localhost', 'root', 'mypasswd');
if (!$dbcnx) {
echo( '<p>Unable to connect to the ' .
'database server at this time.</p>' );
exit();
}

There are three new tricks in the above code fragment. First,
we have placed an @ symbol in front of the mysql_connect function.
Many functions, including mysql_connect, automatically
display ugly error messages when they fail. Placing the @ symbol
(also known as the error suppression operator) in front
of the function name tells the function to fail silently, allowing us to display
our own, friendlier error message.

Next, we put an exclamation point in front of the $dbcnx variable
in the condition of the if statement. The exclamation point
is the PHP negation operator, which basically
flips a false value to true, or a true value to false. Thus, if the connection
fails and mysql_connect returns false, !$dbcnx will
evaluate to true, and cause the statements in the body of our if statement
to be executed. Alternatively, if a connection was made, the connection identifier
stored in $dbcnx will evaluate to true (any number other
than zero is considered "true" in PHP), so !$dbcnx will
evaluate to false, and the statements in the if statement
will not be executed.

The last new trick is the exit function, which is the first example that we've encountered of a function
that takes no parameters. All this function does is cause PHP to stop reading
the page at this point. This is a good response to a failed database connection,
because in most cases the page will be unable to display any useful information
without that connection.

As in "Getting Started with MySQL", once a connection
is established, the next step is to select the database with which you want
to work. Let's say we want to work with the joke database we created in "Getting Started with MySQL". The database we created was called jokes.
Selecting that database in PHP is just a matter of another function call:

mysql_select_db('jokes', $dbcnx);

Notice we use the $dbcnx variable that contains the
database connection identifier to tell the function which database connection
to use. This parameter is actually optional. When it's omitted, the function
will automatically use the link identifier for the last connection opened.
This function returns true when it's successful and false if an error occurs.
Once again, it's prudent to use an if statement to handle
errors:

if (! @mysql_select_db('jokes') ) {
die( '<p>Unable to locate the joke ' .
'database at this time.</p>' );
}

Notice that this time, instead of assigning the result of the function
to a variable and then checking if the variable is true or false, I have simply
used the function call itself as the condition. This may look a little strange,
but it's a very commonly used short cut. To check if the condition is true
or false, PHP executes the function and then checks its return value—exactly
what we need to happen.

Another short cut I've used here is the die function. die works
just like echo, except that the script exits after it.
So calling die is equivalent to a call to echo followed
by a call to exit, which is what we used for mysql_connect above.

With a connection established and a database selected, we are now ready
to begin using the data stored in the database.

/ 190