绑定变量的数量与令牌的数量不匹配

时间:2017-07-16 05:42:38

标签: pdo

尝试在使用PDO的where子句中使用多个条件时,我面临“绑定变量的数量与令牌数量”异常。

代码:

$servername = "localhost";
$username = "xxxx";
$password = "xxxxx";
$dbname = "yyyy";

$searchParam = $_POST['typeahead']; 
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT * FROM trucks WHERE plate_number LIKE :plateNumber OR company_name LIKE: companyName");
    $stmt->bindValue(':plateNumber', '%'.$searchParam.'%', PDO::PARAM_INT);
$stmt->bindValue(':companyName', '%'.$searchParam.'%', PDO::PARAM_INT);

我正在尝试搜索,具体取决于plate_numbercompany_name。出于同样的原因,我绑定了两个占位符(变量)。代码工作,而我只使用1个变量而不是2个。如何绑定两个变量?

1 个答案:

答案 0 :(得分:-2)

您可以使用

$stmt->bindValue(array(':plateNumber', '%'.$searchParam.'%', PDO::PARAM_INT,':companyName', '%'.$searchParam.'%', PDO::PARAM_INT));
相关问题