ユーザーが特定の文字列を含むテキストメッセージを送信したかどうかを確認しようとしています。PHP strposが常にfalseを返す
strpos
関数のneedleパラメータが文字列(つまり、"Sam"
)にハードコードされていない限り、strpos
は常にfalseを返しています。私はmysqli_fetchassoc
を介して希望の針の変数の値を取得し、$_REQUEST['Body']
から取得したテキストメッセージの本文と比較しています。
while ($row = mysqli_fetch_assoc($queryResult))
{
if (mysqli_num_rows($queryResult) > 1)
{
//$_REQUEST['Body'] is the body of the incoming text message that Twilio will process
$messageBody= $_REQUEST['Body'];
$recName = $row['rFName'];
$recId = $row['recipientID'];
if (strpos($messageBody, $recName) !== false)
...
needleパラメータを以下のように文字列としてハードコードすると、正常に動作します。
//This works
if (strpos($messageBody, "Sam") !== false)
...
私は両方の比較値の型チェックを行い、それらが文字列であることを確認しました。私はここで簡単な何かを欠いているに違いない。
$ recNameがNULLでないことを確認してください。 – Akintunde007