Mysql选择不适用于变量

时间:2014-02-24 11:25:59

标签: php mysql select

大家好,我有一个我从未遇到的有趣问题

我做了一个像这样的简单mysql选择

$menuDig = mysql_query("SELECT * FROM gl98t_posichool_tricks WHERE `category_id` = '$cid'");

$cid

$cid = $trick['category_id'];

这是string(1) "1"它可以工作,但当我像这样手动输入cid时

$cid = '1';

它不起作用。我在两个示例中都是var_dump,输出是相同的string(1) "1"

有谁知道问题出在哪里?

同样输出也很奇怪,因为$trick['category_id'];在数据库中是整数但是当我把它放在$cid时它是字符串

我首先虽然我必须将整数也放入$cid,但它也不起作用。

4 个答案:

答案 0 :(得分:0)

mysql_query("SELECT * FROM gl98t_posichool_tricks WHERE `category_id` = '$cid'");

$ cid 中删除单引号,然后再次检查

答案 1 :(得分:0)

试试这个

$cid = intval($trick['category_id']);
$cid = intval(1);

然后在你的sql中执行:

$menuDig = mysql_query("SELECT * FROM gl98t_posichool_tricks WHERE `category_id` = ".$cid);

答案 2 :(得分:0)

试试这个

$menuDig = mysql_query("SELECT * FROM gl98t_posichool_tricks 
                        WHERE `category_id` = ".intval($cid) );

并在您的变量中使用此

  $cid = 1;  //without quotes.

答案 3 :(得分:0)

您是否尝试过不带变量的查询并检查结果?

$ menuDig = mysql_query(“SELECT * FROM gl98t_posichool_tricks WHERE category_id = 1”);

试试这个并检查结果。

如果上述选项均无效,可能在其他地方出现问题......