像shell_exec(“echo%username%”)这样的查询不起作用

时间:2015-05-05 07:16:14

标签: php mysql

我只是有一个查询:

$username=shell_exec("echo %username%" ); //Give Qsr042
$Name=mysqli_fetch_array(mysqli_query($db,'SELECT * FROM user WHERE Login like "'.$username.'"'))['Name']; //Doesn't work

但是当我做echo gettype($Name);时,它说它是NULL。

在mysql中我将'Qsr042'作为Login,因为如果我的查询是:

$Name=mysqli_fetch_array(mysqli_query($db,'SELECT * FROM user WHERE Login like "Qsr042"'))['Name']; //Works

现在它起作用了。一切都是一个字符串所以它应该工作...... 我错过了什么?

3 个答案:

答案 0 :(得分:0)

shell_exec将执行shell命令而不是PHP函数 e.g。

$ output = shell_exec('ls -lart'); echo“

$output
”;

答案 1 :(得分:0)

我知道为什么它没有用。我使用NSString *placeholder = isWholeWords ? @"\\b%@\\b" : @"%@"; 并且它有效。我不确定为什么,但我不会抱怨。感谢您帮助我

答案 2 :(得分:0)

因为你最后得到了回报。

执行rtrim()

$username=shell_exec("echo %username%" ); //Give Qsr042 (with \r\n)
$username=rtrim($username); //Give Qsr042
$Name=mysqli_fetch_array(mysqli_query($db,'SELECT * FROM user WHERE Login like "'.$username.'"'))['Name'];