这个Mysql查询中的(整数)是什么意思?

时间:2012-02-23 19:05:46

标签: mysql integer

谢谢大家。根据您的回复,看起来我会发回这个回复。我认为这可能是我可以迅速解决的问题。

我们的一位客户向我们发送了一个脚本,其中一个文件中包含以下内容。

AND catparentid = '".( integer )."'";

有没有人知道为什么“整数”这个词会在括号之间或它应该做什么?我在网上找不到任何关于它的信息。它是sql查询的结尾部分。脚本抱怨“。”在这个查询中但我怀疑问题是“整数”部分......?

这是完整的查询....

$sql = "SELECT * FROM [|PREFIX|]categories WHERE catname = '".$GLOBALS['ISC_CLASS_DB']->quote( $prod )."' AND catparentid = '".( integer )."'";

谢谢!

3 个答案:

答案 0 :(得分:0)

最有可能的是,客户端只是指示值catparentid应该是一个整数,并且在PHP中执行查询时,整数变量应该替换( integer )

// An integer...
$catparentid = 12345;
$sql = "SELECT * FROM [|PREFIX|]categories WHERE catname = '".$GLOBALS['ISC_CLASS_DB']->quote( $prod )."' AND catparentid = '".$catparentid."'";

或者,因为在MySQL中引用数值不是必需的:

$sql = "SELECT * FROM [|PREFIX|]categories WHERE catname = '".$GLOBALS['ISC_CLASS_DB']->quote( $prod )."' AND catparentid = $catparentid";

答案 1 :(得分:0)

这是一个PHP错误而不是MySQL错误。

我只能推测这个脚本应该做什么,但它们可能意味着cast变量为整数,因为catparentid列是一个整数类型(这是一个好主意) ,但变量实际上并不存在:

$sql = "..AND catparentid = '".( integer ) $catparentid ."'";
//                                         ^ forgot something?

但是,看到[|PREFIX|],它更可能只是一个占位符as Michael suggests

答案 2 :(得分:0)

AND catparentid = '".( integer )."'";

非常强烈的PHP,其中点用作字符串连接符。我怀疑这是从PHP代码中粘贴的,并没有完全消毒。

在PHP中,这将创建一系列排序

AND catparentid = '( integer )'