我正在尝试从“activePages”列中包含特定ID号的表中调用随机行。
例如,activePages可能在一行中包含“123 456”,在另一行中包含“456 789”,我使用以下代码:
SELECT * FROM advertising WHERE activePages LIKE %456% ORDER BY rand() LIMIT 1
...随机调用这两行中的一行。
我想做同样的事情,但用一个变量代替“456”。我需要在哪里放置%才能使用?或者我完全错过了另一个问题?
这就是我现在所拥有的:
$getad = $pdo->prepare('SELECT * FROM advertising WHERE activePages LIKE :id ORDER BY rand() LIMIT 1');
$getad->execute(['id' => $id]);
答案 0 :(得分:0)
写了一个快速测试来验证SO上的其他帖子。将%
添加到PHP变量可以进行类似的比较。
<?php
$id = "%" . $searchTerm . "%";
$sql = "SELECT * FROM TABLE
WHERE COLUMN LIKE :id";
$stmt->execute([':id'=> $id]);
?>