【发布时间】:2018-10-28 16:11:53
【问题描述】:
在我的 MSQL 表中,一行的 code 列为“1001000181026”。
我的 PHP 脚本只对粗体部分 (1810) 感兴趣,而我对 code 的其他字符使用下划线通配符 (_)。
但是:它不适用于 PDO(0 个结果)!另一方面,如果我将SELECT 代码手动写入 phpMyAdmin,它运行良好(1 个结果)。
这是 PDO/PHP 代码(不工作):
$code = '_______1810__';
$preparequery = 'SELECT * FROM table WHERE code LIKE :code';
$stmt = $conn->prepare($preparequery);
$stmt->bindValue("code", $code);
$y = $stmt->rowCount();
echo '<p>We have '.$y.' row(s).</p>'; // We have 0 row(s).
phpMyAdmin 中的查询工作正常:
SELECT * FROM `table` WHERE code LIKE '_______1810__'
正如预期的那样,这给了我 1 个结果。
PHP 代码 (PDO) 可能有什么问题?感谢您的帮助!
【问题讨论】:
-
我不确定它是否与那里提到的内容有关:stackoverflow.com/questions/5809951/… 根据哪个 PDO 占位符(例如“:代码”)允许“字母数字 + 下划线" 个字符。
标签: php mysql pdo escaping wildcard