开发者社区 问答 正文

PHP MySQL Where 子句


如需选取匹配指定条件的数据,请向 SELECT 语句添加 WHERE 子句


WHERE 子句


如需选取匹配指定条件的数据,请向 SELECT 语句添加 WHERE 子句。

语法


SELECT column FROM table
WHERE column operator value
下面的运算符可与 WHERE 子句一起使用:
运算符 说明
= 等于
!= 不等于
> 大于
< 小于
>= 大于或等于
<= 小于或等于
BETWEEN 介于一个包含范围内
LIKE 搜索匹配的模式


注释:SQL 语句对大小写不敏感。WHERE 与 where 等效。
为了让 PHP 执行上面的语句,我们必须使用 mysql_query() 函数。该函数用于向 SQL 连接发送查询和命令。

例子


下面的例子将从 "Persons" 表中选取所有 FirstName='Peter' 的行:
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM Persons
WHERE FirstName='Peter'");

while($row = mysql_fetch_array($result))
  {
  echo $row['FirstName'] . " " . $row['LastName'];
  echo "<br />";
  }

?>
以上代码的输出:
Peter Griffin

展开
收起
游客nm6mpjb2722bc 2015-07-20 10:25:36 8584 分享 版权
阿里云 AI 助理回答

您提到的是在SQL查询中使用WHERE子句来筛选满足特定条件的数据,这是数据库操作中的基础知识。不过,您的示例代码中使用的是已经过时的mysql_系列函数,这些函数在PHP新版本中已被废弃,建议使用更安全且功能更丰富的PDO(PHP Data Objects)或MySQLi扩展。

以下是使用PDO方式重写您示例的代码:

<?php
$servername = "localhost";
$username = "peter";
$password = "abc123";
$dbname = "my_db";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // 设置 PDO 错误模式为异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 查询 FirstName 为 'Peter' 的所有列
    $stmt = $conn->prepare("SELECT * FROM Persons WHERE FirstName='Peter'");
    $stmt->execute();

    // 获取查询结果
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        echo $row['FirstName'] . " " . $row['LastName'] . "<br>";
    }
} catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}

// 关闭连接
$conn = null;
?>

这段代码首先创建了一个PDO实例来连接到数据库,然后准备并执行了一个SQL查询,该查询与您原始示例中的相同,都是从"Persons"表中选取FirstName为'Peter'的所有行。通过使用PDO,您可以享受到预处理语句带来的安全性提升,以及更现代和灵活的错误处理机制。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答