MySQL 中的 WHERE 子句用于选择所有
WHERE clause in MySQL for selecting all
我在 PHP
中有一个脚本,它使用 Select
& Where
子句从 Mysql
数据库中选择数据。
$lrn= "PU2017LN11K";
$stmt = $user_home->runQuery('SELECT * FROM mcq WHERE LRN = :crn ORDER BY LRN,Sr ASC ');
$stmt->bindParam(':crn',$lrn);
$stmt->execute();
现在如何使用 WHERE LRN = :crn
.
编写代码脚本,以便它从所有 LRN
中进行选择
我试过了:
$lrn= "*";
$stmt = $user_home->runQuery('SELECT * FROM mcq WHERE LRN = :crn ORDER BY LRN,Sr ASC ');
$stmt->bindParam(':crn',$lrn);
$stmt->execute();
但是没有显示任何结果!
如果我想显示所有结果,跳过 WHERE
子句很容易,但是
$lrn
的值将由 $_GET
方法定义。
您需要所有行,不要使用 where 子句。或者,如果您 必须 使用 where(代码中的某些内容或 thinking/design 需要它),那么您也可以说 "where 1" 之类的内容(例如 phpMyAdmin无时无刻不在做事。
正常的处理方式是:
$lrn= "*";
$stmt = $user_home->runQuery('SELECT * FROM mcq WHERE LRN = :crn OR :crn = \'*\' ORDER BY LRN, Sr ASC ');
或者,您可以使用 LIKE
:
$lrn = "%";
$stmt = $user_home->runQuery('SELECT * FROM mcq WHERE LRN LIKE :crn ORDER BY LRN, Sr ASC ');
将其用作您的 where 子句:
WHERE LRN = CASE WHEN :crn = '*' THEN LRN else :crn END
这样,当提供的 :crn 为“*”时,您将获得所有记录。
我在 PHP
中有一个脚本,它使用 Select
& Where
子句从 Mysql
数据库中选择数据。
$lrn= "PU2017LN11K";
$stmt = $user_home->runQuery('SELECT * FROM mcq WHERE LRN = :crn ORDER BY LRN,Sr ASC ');
$stmt->bindParam(':crn',$lrn);
$stmt->execute();
现在如何使用 WHERE LRN = :crn
.
LRN
中进行选择
我试过了:
$lrn= "*";
$stmt = $user_home->runQuery('SELECT * FROM mcq WHERE LRN = :crn ORDER BY LRN,Sr ASC ');
$stmt->bindParam(':crn',$lrn);
$stmt->execute();
但是没有显示任何结果!
如果我想显示所有结果,跳过 WHERE
子句很容易,但是
$lrn
的值将由 $_GET
方法定义。
您需要所有行,不要使用 where 子句。或者,如果您 必须 使用 where(代码中的某些内容或 thinking/design 需要它),那么您也可以说 "where 1" 之类的内容(例如 phpMyAdmin无时无刻不在做事。
正常的处理方式是:
$lrn= "*";
$stmt = $user_home->runQuery('SELECT * FROM mcq WHERE LRN = :crn OR :crn = \'*\' ORDER BY LRN, Sr ASC ');
或者,您可以使用 LIKE
:
$lrn = "%";
$stmt = $user_home->runQuery('SELECT * FROM mcq WHERE LRN LIKE :crn ORDER BY LRN, Sr ASC ');
将其用作您的 where 子句:
WHERE LRN = CASE WHEN :crn = '*' THEN LRN else :crn END
这样,当提供的 :crn 为“*”时,您将获得所有记录。