当我使用波兰字母时,mysql_num_rows总是返回零

时间:2015-04-19 20:38:55

标签: php mysql mysql-num-rows

所以我没有什么问题,因为我需要检查数据库中是否存在“product”,如果没有,我想创建一个。我正在做这样的事情:

$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)。

1 个答案:

答案 0 :(得分:0)

我不得不补充道:

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

在我的代码中,现在一切正常!