我正在运行一个非常简单的查询,我认为它应该可以工作。我以前唯一没有做的事情就是在查询的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。
有什么想法吗?提前谢谢。
$query = "SELECT generator_64k.n FROM generator_64k WHERE generator_64k.n<= {$X};";
试试这个,或者发布你的PHP代码。
<?php
$X = 100;
$query = "SELECT n FROM generator_64k WHERE n <= $X";
$result = mysql_query($query);
if (!$result) {
echo ('Query error: ' . mysql_error());
}
$result=mysql_query($query);
mysql_query()函数在出现错误时返回false(false==0),否则返回一个资源。mysql_query不返回结果集中的值。必须使用mysql_fetch_assoc或类似的方法从结果集中提取行。
此外,请确保将查询用双引号括起来,以便PHP可以展开变量$X
。
使用mysql_error从对mysql_query的最后一次调用中获取错误。
让它像这个
$sql="select `username` from `users` where id='$newid';";
mysql_query($sql);
这里$newid是int值。用户名前后使用的符号,要得到这个,你必须按下esc下方的键。
您的数值周围不能有'
。MySQL会将其视为字符串。
你应该这样做,而不是
" WHERE number <= " . (int)$val . " .. "
// or (but not recommended due to security problem)
" WHERE number <= $val "