Мне нужно сравнить два строковых регистра, нечувствительных здесь, это мой код
if(strcasecmp($genderseek,"both")==0) { $gender2="$Ugender=='MALE'||$Ugender=='FEMALE'"; } else { $gender2.="$genderseek==$Ugender"; }
этот код не работает для меня, кто-нибудь мне помогает
заранее спасибо
Прежде всего, в первом ветви ваш код должен использовать $gender2.=
Вместо просто $gender2=
Во-вторых, если это создает SQL-запрос, который выглядит так, то вы можете использовать функции SQL LOWER
или UPPER
для сравнения с MALE и FEMALE, в зависимости от вашего набора данных
В-третьих, опять же, если это SQL, "$genderseek==$Ugender"
должен читать "$Ugender==$genderseek"
поскольку, судя по вашему коду, $Ugender
имеет имя столбца для пола, тогда как $genderseek
– это то, что пользователь ищет ?
Наконец, вы должны действительно заглянуть в подготовленные заявления. Ваш текущий код, похоже, очень уязвим для инъекций SQL!
Вам нужно будет использовать функцию PHP strtolower (), чтобы сравнить все в нижнем регистре. Таким образом, чувствительность к регистру будет устранена.