在odbc_prepare中格式化LIKE

时间:2014-05-09 14:14:03

标签: php sql sql-server

我正在尝试执行以下PHP代码,但即使在命令行中执行时存在匹配的行,也会返回0行:

$sql = "SELECT TOP 1 * FROM [Coupons] WHERE [code] LIKE '%?%' AND [platform] LIKE '%?%'";
$stmt = odbc_prepare($link, $sql);
odbc_execute($stmt, array($coupon,$platform));

如何在查询中正确格式化LIKE?

我试过

$sql = "SELECT TOP 1 * FROM [Coupons] WHERE [code] LIKE ? AND [platform] LIKE ?"

但这也不起作用。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

查看此帖:

C# constructing parameter query SQL - LIKE %

您需要传入整个字符串'%value%'作为参数,以便在您的情况下

$sql = "SELECT TOP 1 * FROM [Coupons] WHERE [code] LIKE ? AND [platform] LIKE ?";
$stmt = odbc_prepare($link, $sql);
odbc_execute($stmt,array("%{$coupon}%","%{$platform}%"));