2014-05-09 4 views
0
odbc_prepare

에서 나는 다음과 같은 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

확인이 밖으로 게시 :

C# constructing parameter query SQL - LIKE %

당신은 당신의 경우

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

덕분에, 그래서 전체 문자열을 매개 변수로 '%value%'에 전달해야! $ sql = "[쿠폰] 어디에서 [코드] 좋아해요? [플랫폼] 좋아해요?"; $ stmt = odbc_prepare ($ link, $ sql); odbc_execute ($ stmt, array ("%". $ coupon. "%", "%". $ platform. "%")); – MonOve

+0

그 중괄호에 대해 확실하지 않습니다 – MonOve

+0

죄송합니다. PHP로 코딩 한 적이 없지만 읽은 구문에서 사용할 수 있습니다. http://stackoverflow.com/questions/5605965/php-concatenate-or-directly-insert- variables-in-string. 작동하지 않으면 원하는 문자열을 연결할 수 있습니다. 솔루션이 효과가 있습니까? – mmilleruva