在mysql查询的WHERE子句中使用php变量
我正在运行一个非常简单的查询,我认为应该可以运行。我以前唯一没有做的事情就是在查询的WHERE子句中放入一个php变量。变量$X是一个数值,比如说100。当我运行这个查询时,我只得到返回的值0。我在做一些明显愚蠢的事吗在mysql查询的WHERE子句中使用php变量,php,mysql,variables,Php,Mysql,Variables,我正在运行一个非常简单的查询,我认为应该可以运行。我以前唯一没有做的事情就是在查询的WHERE子句中放入一个php变量。变量$X是一个数值,比如说100。当我运行这个查询时,我只得到返回的值0。我在做一些明显愚蠢的事吗 SELECT generator_64k.n FROM generator_64k WHERE generator_64k.n<= '$X' 选择生成器_64k.n 来自发电机_64k 其中generator_64k.n$query=“从generator_64k.n中选
SELECT generator_64k.n
FROM generator_64k
WHERE generator_64k.n<= '$X'
选择生成器_64k.n
来自发电机_64k
其中generator_64k.n$query=“从generator_64k.n中选择generator_64k.n,其中generator_64k.n$query=“从generator_64k.n中选择generator_64k.n,其中generator_64k.n您的数值周围不能有”
。MySQL会将其视为字符串
你应该这样做
" WHERE number <= " . (int)$val . " .. "
// or (but not recommended due to security problem)
" WHERE number <= $val "
“其中number不能在数值周围包含”
。MySQL会将其视为字符串
你应该这样做
" WHERE number <= " . (int)$val . " .. "
// or (but not recommended due to security problem)
" WHERE number <= $val "
“其中数字例如php和使用变量
$query=“从表1中选择*,其中col1例如php和使用变量
$query=“select*from table1,其中col1函数在出错时返回false(false==0),否则返回资源。mysql\u查询不会从结果集中返回值。必须使用或类似的方法从结果集中获取行
另外,请确保将查询用双引号括起来,以便PHP可以展开变量$X
用于从上次调用mysql_查询中获取错误。函数在出现错误时返回false(false==0),否则返回资源。mysql\u查询不会从结果集中返回值。必须使用或类似的方法从结果集中获取行
另外,请确保将查询用双引号括起来,以便PHP可以展开变量$X
用于从上次调用mysql_查询中获取错误。试试这个,或者发布您的PHP代码
<?php
$X = 100;
$query = "SELECT n FROM generator_64k WHERE n <= $X";
$result = mysql_query($query);
if (!$result) {
echo ('Query error: ' . mysql_error());
}
试试这个,或者发布你的PHP代码
<?php
$X = 100;
$query = "SELECT n FROM generator_64k WHERE n <= $X";
$result = mysql_query($query);
if (!$result) {
echo ('Query error: ' . mysql_error());
}
这样做吧
$sql="select `username` from `users` where id='$newid';";
mysql_query($sql);
这里$newid是int值。
用户名前后使用的符号,要获取此信息,必须按esc下方的键。如下所示
$sql="select `username` from `users` where id='$newid';";
mysql_query($sql);
这里$newid是int值。
用户名前后使用的符号,要获得该符号,您必须按esc下方的键。您可以发布PHP代码吗?在PHP中,MySQL查询只是通过套接字发送到MySQL的字符串。如果没有构造字符串(您的查询)的PHP代码,我们将无法帮助您。可能存在重复的,请将PHP代码发布到各处?在PHP中,MySQL查询只是通过套接字发送到MySQL的字符串。如果没有构造字符串(您的查询)的PHP代码,我们将无法帮助您。可能重复No,MySQL不关心您是否将整数作为'5'
传递。它将在使用前简单地转换。做你的研究!php不需要强制转换变量强制转换(int)$val
是毫无意义的,因为整数
$val
由于字符串
串联而立即被强制转换回字符串
。MySQL不知道PHP变量的类型。你只是把查询作为字符串传递给mysql。我不敢相信还有人不知道sqli注入的风险。伙计,你为什么不接受一些好的批评并从中学习呢?我当然知道SQL注入。我真的很难过,你关于数值的无稽之谈仍然存在。不,MySQL不在乎你是否将整数作为'5'
传递。它将在使用前简单地转换。做你的研究!php不需要强制转换变量强制转换(int)$val
是毫无意义的,因为整数
$val
由于字符串
串联而立即被强制转换回字符串
。MySQL不知道PHP变量的类型。你只是把查询作为字符串传递给mysql。我不敢相信还有人不知道sqli注入的风险。伙计,你为什么不接受一些好的批评并从中学习呢?我当然知道SQL注入。让我非常难过的是,你关于数值的
“
的胡说八道的说法仍然存在;检查与MySQL服务器版本对应的手册,以获取第行“”附近要使用的正确语法1@user1262890编辑了这篇文章。我也错过了SQL语法中的分号。从{$X}”;
更改为{$X}代码>很遗憾,这会返回一个错误:您的SQL语法中有一个错误;检查与MySQL服务器版本对应的手册,以获取第行“”附近要使用的正确语法1@user1262890编辑了这篇文章。我也错过了SQL语法中的分号。从{$X}”;
更改为{$X}代码>