我正在尝试将两个参数绑定到准备好的 PDO 选择语句。这是我到目前为止:
$query = "select * from books where ? LIKE ?";
$result = $db->prepare($query);
$result->bindValue(1, $searchTerm, PDO::PARAM_STR);
$result->bindValue(2, "%$searchValue%", PDO::PARAM_STR);
$result->execute();
$rows = $result->fetchAll(PDO::FETCH_ASSOC);
print_r($rows);
Run Code Online (Sandbox Code Playgroud)
这成功执行,但我没有返回任何行。
但是当我只使用 1 个参数时
$query = "select * from books where title LIKE ?";
$result->bindValue(1, "%$searchValue%", PDO::PARAM_STR);
Run Code Online (Sandbox Code Playgroud)
我得到了返回的行。我已经检查了 1000 次我的参数值和名称,它们都很好。
我不明白为什么这不适用于两个参数。请指教。
我想这更像是一个数学问题,但是当你将一个双倍除以1时它又如何返回小数点呢?
例如,123.23 % 1等于0.23.
它不应该只返回0吗?
MSDN参考说,模块执行此操作的ex - (x / y) * y地方x是分红,为什么是分隔符,如果你计算它,它应该返回0.
那么告诉我它是如何返回小数点的呢?