0

jurnal_training我的 PhpMyAdmin 中有这张表

-------------------------------------------------------------------
| id_jurnal | kategori |   judul   |      isi_jurnal     | status |
-------------------------------------------------------------------
|    1      |    WS    | Example 1 | content example 1   |   0    |
|    2      |    WS    | Example 2 | content example 2   |   1    |
|    3      |    WS    | Example 3 | content example 3   |   1    |
|    4      |    WS    | Example 4 | content example 4   |   0    |
.
.
.

在 PHP 中,我只需要查看 'categori' 和 'jurnal',其中 'status' 为 0;

这是我的代码:

<?
    $rec_limit = 9;
    $sql = "SELECT count(judul) FROM jurnal_training ";
    $retval = mysql_query($sql);
    $row = mysql_fetch_array($retval);
    $rec_count = $row[0];

    if( isset($_GET{'paging_view'} ) )
    {
        $paging = $_GET{'paging_view'} + 1;
        $offset = $rec_limit * $paging ;
    }
    else
    {
        $paging = 0;
        $offset = 0;
    }
    $left_rec = $rec_count - ($paging * $rec_limit);

    $sql = "SELECT * ".
    "FROM jurnal_training ".
    "LIMIT $offset , $rec_limit ".
    "WHERE status = 1";

    $count=1;
    $retval = mysql_query($sql) or die(mysql_error());;
    while ($row = mysql_fetch_array($retval))
    {
    echo "<tr >
            <td>",$count,"</td>
            <td>",$row['kategori'],"</td>
            <td><a href='index.php?do=view_jurnal&id_jurnal=",$row['id_jurnal'],"'>",$row['judul'],"</a></td>
            <td><a href='index.php?do=edit_jurnal&id_jurnal=",$row['id_jurnal'],"' class='process_button_s' >Edit</a><a href='index.php?do=delete_jurnal&id_jurnal=",$row['id_jurnal'],"'class='process_button_s'>Delete</a></td>
            <td><a href='index.php?do=train_process&id_jurnal=",$row['id_jurnal'],"' class='process_button'>Train Data</a></td>
        </tr>";
        $count++;
    }
    ?>

在上面的变量 $sql 中,如果我没有在查询末尾添加“WHERE status = 0”,则在 PHP 中查看表格。但是,如果我把“WHERE status = 0”表没有被查看并得到一个错误结果:

“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'WHERE status = 0' 附近使用正确的语法”

4

3 回答 3

1

你有 SQL 语句:

SELECT * 
FROM jurnal_training
LIMIT $offset , $rec_limit
WHERE status = 1

LIMIT之后是WHERE

SELECT * 
FROM jurnal_training
WHERE status = 1
LIMIT $offset , $rec_limit
于 2013-08-30T03:08:21.833 回答
0

错误是因为您在limit子句之前有where子句。

子句的顺序很重要。有关详细信息, 请参阅选择语法。

另请注意,mysql扩展现在已弃用,请参阅“选择 API”中的“推荐 API”以了解推荐使用的 API。

更新您的查询如下:

$sql = "SELECT * ".
"FROM jurnal_training ".
"WHERE status = 1 ". 
"LIMIT $offset, $rec_limit ";
于 2013-08-30T03:07:44.633 回答
0

这:

SELECT * FROM jurnal_training LIMIT $offset , $rec_limit WHERE status = 1

应该:

SELECT * FROM jurnal_training WHERE status = 1 LIMIT $offset , $rec_limit
于 2013-08-30T03:07:47.963 回答