duanpuluan0480 2017-11-05 16:44
浏览 285
已采纳

MySQL中的WHERE子句用于选择所有

I have a script in PHP, which selects data from a Mysql Database using Select & Where clause.

$lrn= "PU2017LN11K";
$stmt = $user_home->runQuery('SELECT * FROM mcq WHERE LRN = :crn ORDER BY LRN,Sr ASC ');
$stmt->bindParam(':crn',$lrn);
$stmt->execute();

Now how to script the code so that it selects from all the LRN, using WHERE LRN = :crn.

I tried:

$lrn= "*";
$stmt = $user_home->runQuery('SELECT * FROM mcq WHERE LRN = :crn ORDER BY LRN,Sr ASC ');
$stmt->bindParam(':crn',$lrn);
$stmt->execute();

But it didn't show any results!

It's easy to skip the WHERE clause if I want to show all results, but the value of $lrn will be defined by the $_GET method.

  • 写回答

3条回答 默认 最新

  • dpchen2004 2017-11-05 16:51
    关注

    The normal way of handling this would be:

    $lrn= "*";
    $stmt = $user_home->runQuery('SELECT * FROM mcq WHERE LRN = :crn OR :crn = \'*\' ORDER BY LRN, Sr ASC ');
    

    Alternatively, you could use LIKE:

    $lrn = "%";
    $stmt = $user_home->runQuery('SELECT * FROM mcq WHERE LRN LIKE :crn ORDER BY LRN, Sr ASC ');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?