php SQL语法中有错误;查看与MySQL服务器版本对应的手册,了解在"leave"附近使用的正确语法

gcuhipw9  于 2023-01-01  发布在  PHP
关注(0)|答案(5)|浏览(143)

当我运行我的代码时总是得到这个错误
SQL语法中有错误;查看与MySQL服务器版本对应的手册,了解在第1行"leave"附近使用的正确语法
下面是我的编码部分

<?php
        $result = mysql_query("select * from 'leave'");
        if ($result == FALSE)
        {
            die(mysql_error());
        }
        while($row = mysql_fetch_assoc($result))
        {
    ?>
    <tr>
        <td><a href = "app_status.php? id = <?php echo $row["Leave_ID"];?>" target = "_blank"></a>Leave ID</td>
        <td><?php echo $row["Emp_ID"];?></td>   
        <td><?php echo $row["Date_Apply"];?></td>
        <td><?php echo $row["Leave_Type"];?></td>
        <td><?php echo $row["Leave_Start"];?></td>
        <td><?php echo $row["Leave_End"];?></td>
        <td><?php echo $row["Status"];?></td>
    </tr>
    <?php
        }

    ?>
ipakzgxi

ipakzgxi1#

不要使用单引号
你可以试试

$result = mysql_query("select * from leave");

或使用'键

$result = mysql_query("select * from `leave`");
c7rzv4ha

c7rzv4ha2#

$result = mysql_query("select * from 'leave'");
                                   //^     ^

表名使用反记号':

$result = mysql_query("select * from `leave`");
dgsult0t

dgsult0t3#

可能的答案:
1)任何非数字值都需要用引号括起来。
2)您的输入数据在使用之前也应该被清除/转义。您当前对SQL注入开放。

7rfyedvj

7rfyedvj4#

$result = mysql_query("select * from your_db.leave") or die (mysql_error());
5ktev3wc

5ktev3wc5#

在我的例子"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order (id INT NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),中,我得到了这个错误。
我认为我们不能使用“order”作为表名(我认为它是一个关键字)。我不得不使用“order_and_contracts "。

相关问题