Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysql选择不适用于变量_Php_Mysql_Select - Fatal编程技术网

Php Mysql选择不适用于变量

Php Mysql选择不适用于变量,php,mysql,select,Php,Mysql,Select,大家好,我有一个有趣的问题,我以前从未遇到过 我做了一个简单的mysql选择,如下所示 $menuDig = mysql_query("SELECT * FROM gl98t_posichool_tricks WHERE `category_id` = '$cid'"); $cid = '1'; 当$cid为 $cid = $trick['category_id']; 这是string(1)“1”它可以工作,但当我像这样手动键入cid时 $menuDig = mysql_query("SE

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

我做了一个简单的mysql选择,如下所示

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

$cid = $trick['category_id'];
这是
string(1)“1”
它可以工作,但当我像这样手动键入cid时

$menuDig = mysql_query("SELECT * FROM gl98t_posichool_tricks WHERE `category_id` = '$cid'");
$cid = '1';
它不起作用。在两个示例中,I var_dump和输出都是相同的
string(1)“1”

有人知道问题出在哪里吗

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

首先,我认为我必须将整数也放入
$cid
中,但它也不起作用

mysql_query("SELECT * FROM gl98t_posichool_tricks WHERE `category_id` = '$cid'");
$cid中删除单引号,然后再次检查

$cid = intval($trick['category_id']);
$cid = intval(1);
然后在sql中执行以下操作:

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

$menuDig = mysql_query("SELECT * FROM gl98t_posichool_tricks 
                        WHERE `category_id` = ".intval($cid) );
在变量中使用这个

  $cid = 1;  //without quotes.

您是否尝试过在没有变量的情况下进行查询并检查结果

$menuDig=mysql\u查询(“从gl98t\u posichool\u中选择*,其中
category\u id
=1”)

试试这个并检查结果


如果上面的选项都不起作用,可能其他地方有问题…

您不需要使用引号来表示整数您的查询工作正常如果您输入完整的代码,则不会出现任何错误,这样我就能更好地理解您的问题删除引号后查询将变成这样:mysql\u query(“从gl98t\u posichool\u技巧中选择*,其中
类别\u id
=$cid”);你必须像整数一样传递1,而不是像字符串一样传递如果你数据库中的数据类型fot cid是int类型thx很多我觉得自己像个哑巴现在我打开了错误显示,我看到我的连接在某些情况下失败了我重新启动了连接,它现在工作正常thx不管怎样你的答案很多thx很多我觉得自己像个哑巴现在我打开了error显示,我已经看到我的连接失败,在某些情况下,我重新启动连接,它现在可以正常工作了。无论如何,谢谢你的回答