How can I have multiple AND conditions in a clause? Like Show asked Jul 18, 2012 at 16:18
0
answered Jul 18, 2012 at 16:18
Yan BerkYan Berk 14.3k9 gold badges54 silver badges52 bronze badges 0
answered Jul 18, 2012 at 16:19
PetePete 1,26910 silver badges18 bronze badges 0 Not the answer you're looking for? Browse other questions tagged php mysql or ask your own question.MySQL allows you to perform more complicated queries by using AND and OR in your WHERE clause to tie conditions together. You can also use brackets to form groups of equations through two main processes - using AND/OR (plus brackets) to make your queries more specific, and using the JOIN keyword to merge tables together. Using AND and OR as well as brackets, you can form complex queries with little fuss. Here is a basic example to find someone with FirstName "John" and LastName "Smith".
Here MySQL will only return rows that meet both requirements. If we wanted MySQL to return any row that had "John" as FirstName or "Smith" as LastName, it is as simple as changing the AND to an OR:
That would return records such as "John Jones", "Karen Smith". If we wanted only records that definitely had John as FirstName, but could be either "Jones" or "Smith" as LastName, we would need to use brackets, like this:
This time the FirstName condition must match as well as either LastName "Smith" or LastName "Jones" - "John Connor" will not match. For the final example of AND and OR, here's a snippet of code that will match one of four possibilities: John Smith, John Jones, Jennifer Smith, or Jennifer Jones:
AND and OR really aren't difficult at all, particularly seeing as MySQL will sort out bracket problems quite easily- you can use more brackets than is required, but it will still work out OK. When using complex queries with AND or OR, consider trying them out in the MySQL monitor first to make sure you have got the query right before trying them in your PHP scripts. Want to learn PHP 7? Hacking with PHP has been fully updated for PHP 7, and is now available as a downloadable PDF. Get over 1200 pages of hands-on PHP learning today! If this was helpful, please take a moment to tell others about Hacking with PHP by tweeting about it! Next chapter: Grouping rows together with GROUP BY >> Previous chapter: A working example Jump to: Home: Table of Contents Copyright ©2015 Paul Hudson. Follow me: @twostraws. MySQL optionally allows having multiple statements in one statement string, but it requires special handling. Multiple statements or multi queries must be executed with mysqli::multi_query(). The individual statements of the statement string are separated by semicolon. Then, all result sets returned by the executed statements must be fetched. The MySQL server allows having statements that do return result sets and statements that do not return result sets in one multiple statement. Example #1 Multiple Statements
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); The above example will output: array(1) { [0]=> array(1) { ["_num"]=> string(1) "0" } } array(1) { [0]=> array(1) { ["_num"]=> string(1) "1" } } Security considerations The API functions
mysqli::query() and mysqli::real_query() do not set a connection flag necessary for activating multi queries in the server. An extra API call is used for multiple statements to reduce the damage of accidental SQL injection attacks. An attacker may try to add statements such as Example #2 SQL Injection
The above example will output: Error executing query: (1064) 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 'DROP TABLE mysql.user' at line 1 Prepared statements Use of the multiple statement with prepared statements is not supported. See also
velthuijsen ¶ 4 years ago
$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT)")) { How to add multiple WHERE conditions in MySQL?MySQL - WHERE Clause. You can use one or more tables separated by a comma to include various conditions using a WHERE clause, but the WHERE clause is an optional part of the SELECT command.. You can specify any condition using the WHERE clause.. You can specify more than one condition using the AND or the OR operators.. How run multiple MySQL queries in PHP?Multiple statements or multi queries must be executed with mysqli::multi_query(). The individual statements of the statement string are separated by semicolon. Then, all result sets returned by the executed statements must be fetched.
How to select 2 data in MySQL?To select multiple values, you can use where clause with OR and IN operator.
How write SQL query in multiple lines in PHP?Multi-Line Strings can be written in PHP using the following ways. Using escape sequences: We can use the \n escape sequences to declare multiple lines in a string. PHP Code: PHP.
|