将SetString合并到Prepared Statements SQL中

时间:2014-01-07 20:29:20

标签: php sql

我正在尝试将SQL查询更改为LIKE类型,这涉及到最后添加'%'。经过一番挖掘后,我了解到我需要以某种方式使用SetString。像这样(这似乎是JAVA):

pstmt.setString(1, notes + "%");

我不确定如何在我的代码中加入它:

$query = 'SELECT DISTINCT ... LEFT JOIN ... ON ... WHERE bedrijfsnaam = ?';

$stmt->prepare($query);

$stmt->bind_param('sii', $bedrijfvariabele2, $startpoint, $limit);

$stmt->execute();

不确定如何使用我的PHP改变setString以进行incoroporate?

到目前为止,我们已经得到了这个:

$query = 'SELECT DISTINCT ... LEFT JOIN ... ON ... WHERE bedrijfsnaam LIKE ?';

$stmt->prepare($query);

$stmt->bind_param('sii', "$bedrijfvariabele2%", $startpoint, $limit);

$stmt->execute();

然而,这会产生一个从该代码开始的空白页面。

我的案例中的最终解决方案是在绑定参数之前添加%图标JUST。

$bedrijfvariabele2 .= "%";

$stmt->bind_param('sii', $bedrijfvariabele2, $startpoint, $limit);

非常感谢!

1 个答案:

答案 0 :(得分:1)

您希望在绑定之前将“%”附加到字符串:

$bedrijfvariabele2 .= "%";  //this will append % after $bedrijfvariabele2's value

$query = 'SELECT DISTINCT ... LEFT JOIN ... ON ... WHERE bedrijfsnaam = ?';

$stmt->prepare($query);

$stmt->bind_param('sii', $bedrijfvariabele2, $startpoint, $limit);

$stmt->execute();