我正在运行一个非常简单的查询,我觉得应该可行。我之前没有做过的唯一事情就是在查询的WHERE子句中放入一个php变量。变量$ X是一个数值,比如100.当我运行这个查询时,我只返回一个值0。我做的事情显然是愚蠢的吗?
SELECT generator_64k.n
FROM generator_64k
WHERE generator_64k.n<= '$X'
我环顾网络并试过这个:
SELECT generator_64k.n
FROM generator_64k
WHERE generator_64k.n<= '" . $X . "'
但这也只是返回0。
有什么想法吗?提前谢谢。
答案 0 :(得分:2)
$query = "SELECT generator_64k.n FROM generator_64k WHERE generator_64k.n<= {$X};";
答案 1 :(得分:1)
试试这个,或发布你的PHP代码。
<?php
$X = 100;
$query = "SELECT n FROM generator_64k WHERE n <= $X";
$result = mysql_query($query);
if (!$result) {
echo ('Query error: ' . mysql_error());
}
答案 2 :(得分:0)
例如php和使用变量 $ query =“select * from table1 where col1&lt; =”。$ myVariable;
$ result = mysql_query($ query);
答案 3 :(得分:0)
mysql_query()函数在出错时返回false(false == 0),否则返回资源。 mysql_query不返回结果集中的值。您必须使用mysql_fetch_assoc或类似的东西来获取结果集中的行。
另外,请确保将查询包装在双引号中,以便PHP可以展开变量$X
。
使用mysql_error从最后一次调用mysql_query中获取错误。
答案 4 :(得分:0)
像这样做
$sql="select `username` from `users` where id='$newid';";
mysql_query($sql);
这里$ newid是int值。 在用户名之前和之后使用的符号,要获得此符号,您必须按下esc。下面的键。
答案 5 :(得分:-2)
您的数值不能包含'
。 MySQL会将其视为字符串。
你应该这样做
" WHERE number <= " . (int)$val . " .. "
// or (but not recommended due to security problem)
" WHERE number <= $val "