MySQLi - 选择查询

SQL SELECT 命令用于从MySQLi数据库中获取数据.你可以在mysql>上使用这个命令.提示以及PHP之类的任何脚本.

语法

以下是从MySQLi表中获取数据的SELECT命令的通用SQL语法 :

SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE Clause]
[OFFSET M ][LIMIT N]

  • 您可以使用一个或多个用逗号分隔的表来包括使用WHERE子句的各种条件,但WHERE子句是SELECT命令的可选部分.

  • 您可以在单个SELECT命令中获取一个或多个字段.

  • 您可以指定星号(*)代替字段.在这种情况下,SELECT将返回所有字段.

  • 您可以使用WHERE子句指定任何条件.

  • 您可以使用 OFFSET 指定偏移量,SELECT将从此处开始返回记录.默认情况下,偏移量为零.

  • 您可以使用 LIMIT 属性限制退货次数.

从命令提示符中获取数据 :

这将使用SQL SELECT命令从MySQLi表中获取数据tutorials_tbl

示例

以下示例将返回 tutorials_inf 表中的所有记录 :

root@host# mysql -u root -p password;
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> SELECT * from tutorials_inf;
+----+------+
| id | name |
+----+------+
|  1 | sai  |
|  2 | kit  |
|  3 | ram  |
+----+------+
3 rows in set (0.00 sec)

mysql>

使用PHP脚本获取数据

您可以在PHP函数中使用相同的SQL SELECT命令 mysqli_query() 的.此函数用于执行SQL命令,稍后可以使用另一个PHP函数 mysqli_fetch_assoc()来获取所有选定的数据.此函数将行作为关联数组,数字数组或两者返回.如果没有更多行,则此函数返回FALSE.

下面是一个从 tutorials_inf 表中获取记录的简单示例.

示例

尝试以下示例以显示tutorials_inf表中的所有记录.

<html>
   <head>
      <title>Selecting Table in MySQLi Server</title>
   </head>

   <body>
      <?php
         $dbhost = 'localhost:3306';
         $dbuser = 'root';
         $dbpass = '';
         $dbname = 'TUTORIALS';
         $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);
   
         if(! $conn ) {
            die('Could not connect: ' . mysqli_error());
         }
         echo 'Connected successfully<br>';
         $sql = 'SELECT name FROM tutorials_inf';
         $result = mysqli_query($conn, $sql);

         if (mysqli_num_rows($result) > 0) {
            while($row = mysqli_fetch_assoc($result)) {
               echo "Name: " . $row["name"]. "<br>";
            }
         } else {
            echo "0 results";
         }
         mysqli_close($conn);
      ?>
   </body>
</html>

行的内容分配给变量$row,然后打印行中的值.

注意 : 当你想直接将一个数组值插入一个字符串时,总是记得放置大括号.

示例输出应该是这样的 :

Connected successfully
Name: ram
Name: kit
Name: abc