mysql_num_rows всегда возвращает ноль, когда я использую польские буквы

поэтому у меня есть небольшая проблема, потому что мне нужно проверить, существует ли «продукт» в базе данных, и если нет, я хочу создать его. Я делал что-то вроде этого:

$tekst2 = "SELECT * FROM product WHERE nazwa = '$nazwa'";
$id_zap2 = mysql_query($tekst2);
if(!$id_zap2)
{
return new Response('Nie można przesłać zapytania.');
}
else
{
$row2 = mysql_num_rows($id_zap2);
}

if($row2 == 0)
{
$product->setCena($cena);
$product->setJednostka($jednostka);
$product->setIlosc($ilosc);
$product->setNazwa($nazwa);

$em = $this->getDoctrine()->getManager();
$em->persist($product);
$em->flush();

return $this->redirect('addproduct?done=' . $nazwa);
}
else
{
return $this->redirect('addproduct?error=1');
}

И когда я использую для «$ nazwa» нормальные буквы, все в порядке. Например, «Kukurydza», «Chleb» работают нормально, но когда я использую польские буквы, например, «Mąka», он всегда возвращает 0 как «$ row2», и я могу создать множество продуктов с тем же именем ($ nazwa).

0

Решение

Я должен добавить:

$tekst3 = "SET NAMES utf8";
mysql_query($tekst3);
$tekst3 = "SET CHARACTER_SET utf8_unicode_ci";
mysql_query($tekst3);

В моем коде и сейчас все работает нормально!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]