mysql_query
(PHP 3, PHP 4 , PHP 5)
mysql_query -- Send a MySQL query
Description
resource
mysql_query ( string query [, resource link_identifier] )
mysql_query() sends a query (to the currently
active database on the server that's associated with the
specified link_identifier).
Parameters
- query
A SQL query
The query string should not end with a semicolon.
- link_identifier
A link identifier, as returned by mysql_connect().
If link_identifier isn't specified, the last
opened link is assumed. If no link is open, the function tries
to establish a link as if mysql_connect() was
called with no arguments, and use it. The result of the query is buffered.
Return Values
For SELECT, SHOW, DESCRIBE or EXPLAIN statements,
mysql_query()
returns a resource on success, and FALSE on
error.
For other type of SQL statements, UPDATE, DELETE, DROP, etc,
mysql_query() returns TRUE on success
and FALSE on error.
The returned result resource should be passed to
mysql_fetch_array(), and other
functions for dealing with result tables, to access the returned data.
Use mysql_num_rows() to find out how many rows
were returned for a SELECT statement or
mysql_affected_rows() to find out how many
rows were affected by a DELETE, INSERT, REPLACE, or UPDATE
statement.
mysql_query() will also fail and return FALSE
if the user does not have permission to access the table(s) referenced by
the query.
Παραδείγματα
ÐáñÜäåéãìá 1. Invalid Query
The following query is syntactically invalid, so
mysql_query() fails and returns FALSE.
<?php $result = mysql_query('SELECT * WHERE 1=1'); if (!$result) { die('Invalid query: ' . mysql_error()); }
?>
|
|
ÐáñÜäåéãìá 2. Valid Query
The following query is valid, so mysql_query()
returns a resource.
<?php // This could be supplied by a user, for example $firstname = 'fred'; $lastname = 'fox';
// Formulate Query // This is the best way to perform a SQL query // For more examples, see mysql_real_escape_string() $query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'", mysql_real_escape_string($firstname), mysql_real_escape_string($lastname));
// Perform Query $result = mysql_query($query);
// Check result // This shows the actual query sent to MySQL, and the error. Useful for debugging. if (!$result) { $message = 'Invalid query: ' . mysql_error() . "\n"; $message .= 'Whole query: ' . $query; die($message); }
// Use result // Attempting to print $result won't allow access to information in the resource // One of the mysql result functions must be used // See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc. while ($row = mysql_fetch_assoc($result)) { echo $row['firstname']; echo $row['lastname']; echo $row['address']; echo $row['age']; }
// Free the resources associated with the result set // This is done automatically at the end of the script mysql_free_result($result); ?>
|
|