可能的MySql语法问题
Possible MySql syntax issue
我想弄清楚为什么我的查询不工作,但它对我没有意义。我通过php访问一个数据库,列出国家及其附属城市/城镇,我有一个javascript脚本,将它们显示为菜单。每个州都有一个增加100,000的ID(在数据库中,"Alabama"是100,000,"Alaska"是200,000)。所以我在MySQL中测试了我的查询,它工作正常,我测试了javascript的值,被发送到php脚本,它是正确的,但返回的菜单包含比它应该包含更多的值。
我的查询如下:
mysql_query("SELECT * FROM fullstates WHERE code > '$state' AND code < '$state' + 100000");
其中state是前一个被选中的状态的ID。我唯一能想到的就是AND不能正常工作了?
代码是数字还是文本?似乎它们应该是数字,在这种情况下,你应该去掉单引号:
mysql_query("SELECT * FROM fullstates WHERE code > $state AND code < ($state + 100000)");
您也应该将其参数化,但这是另一个问题。
mysql_query("SELECT * FROM fullstates WHERE code > '$state' AND code < '$state' + 100000");
…其中200,000> 100,000 AND 200,000 <100,000 + 100,000
如果state = 100,000且code为200,000,则第一个布尔值为真,但现在检查code(200,000)是否小于state(100,000) + 100,000。
换句话说,你检查的是200000 <200000,所以你的检查是WHERE (TRUE[第一个表达式]AND FALSE[第二个表达式])
相关文章:
- Onclick不会启动..可能存在javascript语法问题
- 基本对象/原型语法问题
- JQuery代码语法问题?(“不允许内联控制结构”)
- Javascript函数变量传递语法问题
- Jison 语法问题,生成解析器出现奇怪错误
- 使用 jssor 滑块的“空元素的 XML 样式关闭语法”问题
- 代码只是没有执行,可能有语法问题,或者我可能完全错了
- JS语法问题还是使用三个.js三个.循环中的图像加载器
- 反应 - 语法问题
- 语法问题.淘汰赛.用于过滤
- bind()存在奇怪的语法问题
- Javascript For..语法问题
- JavaScript语法问题
- javascript插件中未传递参数,html语法问题
- 数组结构中的字符串出现JSON.parse语法问题
- .createElement('object')和许多params的语法问题
- Javascript语法问题
- 有逻辑或语法问题的for循环
- JS正则表达式到Java,语法问题
- HTML 与内联动态 JavaScript 由 PHP 语法问题编写