小编Ren*_*ato的帖子

如何使用mysqli将变量传递给WHERE子句?

我目前有一个只有两个元素的小搜索表单:一个名为的文本输入search和一个名为的"选择"框param.在该框中选择的选项应该用作参数,以选择我的数据库中的哪个表列将被提取.

使用mysql_函数,可以这样做:

$param  = $_POST['param' ];
$search = $_POST['search'];

$query = 'SELECT * FROM table WHERE $param LIKE "%$search%"';
Run Code Online (Sandbox Code Playgroud)

但我无法使用mysqli_语法.我正在尝试使用准备好的语句,但到目前为止我所做的最好的是:

$param  = $_POST['param' ];
$search = $_POST['search'];

if($param == 'first_name')
{
    if($prep = $link->prepare('SELECT * FROM table
                               WHERE first_name
                               LIKE CONCAT("%", ?, "%")'))
    {
        $prep->bind_param('s', $search);
        $prep->execute();
        $prep->bind_result($first_name, $last_name);

        while($prep->fetch())
            echo $first_name . ' ' . $last_name;

        $prep->close();
     }
     else
         echo 'Error while preparing statement.';
}
else if($param == 'last_name')
{
    ... …
Run Code Online (Sandbox Code Playgroud)

php parameters binding mysqli where

8
推荐指数
1
解决办法
2350
查看次数

为什么这个简单的JavaScript XOR加密算法不起作用?

我正在尝试用JavaScript 开发一个(非常)简单的XOR加密算法.

在PHP中,以下加密算法按预期工作:

function encryptXor($text, $key) {
  $result = '';

  for ($i = 0; $i < strlen($text); $i++)
    $result[$i] = $text[$i] ^ $key[$i % strlen($key)];

  return $result;
}
Run Code Online (Sandbox Code Playgroud)

但是,以下JavaScript算法无法正常工作:

function encryptXor(text, key) {
  var result = '';

  for(var i = 0; i < text.length; i++)
    result += text.charAt(i) ^ key.charAt(i % key.length);

  return result;
}
Run Code Online (Sandbox Code Playgroud)

测试案例如下:

Text: someRandomText
Key:  123456789
PHP output: B]^QgWY\V\fVLA
JS output:  12345678912345
Run Code Online (Sandbox Code Playgroud)

显然,^运营商在两种语言之间表现不同.

我发现了一些关于PHP和JavaScript ^运算符之间差异的问题,比如这个,这个或者这个,但我仍然无法解决这个问题. …

javascript xor

4
推荐指数
1
解决办法
611
查看次数

标签 统计

binding ×1

javascript ×1

mysqli ×1

parameters ×1

php ×1

where ×1

xor ×1