我有两个表:

表格发布:

    id              cateid            content
   ####             ######        ###############
    14                35           Lorem isplum


类别表:

    id              name
   ####          #########
    35              Sport


我通常使用方法从这样的类别获取所有帖子:

$itemSport = array();
$itemSport = getAllPostFromSportCate(35);


35是表的值。

问题是:


当我从35表中删除值Category时。
我无法使用getAllPostFromSportCate($id),因为Category表不存在此值。
我不希望插入像35这样的值来作用getAllPostFromSportCate($id)
如果用户更改id表的Category。所有逻辑都会失败。


问题2:

我不希望传递35这样的值。

正常,我在用户单击按钮时收到值。

喜欢:

select * from Post where cateid = (select id from Category)


要么

select * from Post where cateid = $_POST('idCate')

最佳答案

看来您的问题包含答案(嗯,有点):

select * from Post where cateid = $_POST('idCate')


您将构建一个列出类别的表单,该表单可以仅使用类别的ID作为输入值。那么为他们显示的文本将是类别名称。

但是,在执行数据库查询之前,需要确保正确地转义了表单值,以防止SQL injection

10-07 13:57