1
私はLIKE文を使用していくつかの列を検索しようとしています。PDOのbindvalueが機能しない(WHERE LIKE文)
次のコードは、希望の結果得られます。
$zoek='%'.$_GET['zoek'].'%';
$conn = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD);
//insert the user:
$sql = "SELECT `leerlingnr`,`voornaam`,`achternm_tsnvoegsels`,`klas`
FROM `roosters`
WHERE `leerlingnr` LIKE '$zoek'
OR `voornaam` LIKE '$zoek'
OR `achternm_tsnvoegsels` LIKE '$zoek'
OR `klas` LIKE '$zoek'";
$st = $conn->prepare ($sql);
$st->execute();
var_dump ($st -> fetchAll ()) ;
$conn = null;//sluit de connectie
を私だけではなく、クエリでそれを挿入する、$zoek
値をバインドしようとすると、しかし、私は0結果を得ます。
$zoek='%'.$_GET['zoek'].'%';
$conn = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD);
//insert the user:
$sql = "SELECT `leerlingnr`,`voornaam`,`achternm_tsnvoegsels`,`klas`
FROM `roosters`
WHERE `leerlingnr` LIKE ':zoekterm1'
OR `voornaam` LIKE ':zoekterm2'
OR `achternm_tsnvoegsels` LIKE ':zoekterm3'
OR `klas` LIKE ':zoekterm4'";
$st = $conn->prepare ($sql);
$st->bindValue(':zoekterm1', $zoek, PDO::PARAM_STR);
$st->bindValue(':zoekterm2', $zoek, PDO::PARAM_STR);
$st->bindValue(':zoekterm3', $zoek, PDO::PARAM_STR);
$st->bindValue(':zoekterm4', $zoek, PDO::PARAM_STR);
$st->execute();
var_dump ($st -> fetchAll ()) ;
$conn = null;//sluit de connectie
は約半分の時間のために試した後、私は本当に私が間違ってやったものを見ていない(私は、クエリに%を有し、かつ唯一の
:zoekterm
を持つ固定しました)。
ああ、それはそれを固定しました。 ありがとう! – Boelensman1