У меня проблема с оператором выбора в MySQL, у меня есть таблица, как с двумя столбцами:
cz — varchar (64) — utf8_general_ci
pl — varchar (64) — utf8_general_ci
ценности:
pl — kwota sumaryczna
cz — celková částka
Когда я в форме набираю částka, я ничего не могу найти, но когда я набираю castka, я найду данные.
Что я должен изменить в своем коде, чтобы заставить это работать для слов с чешскими знаками и для слов с польскими знаками?
На веб-странице у меня есть код:
<form method="post" action="dict.php?go" id="searchform">
<input type="text" name="name" pattern=".{0}|.{2,}" required title="Conajmniej 2 litery" class="keyboardInput" size="50">
<input type="submit" name="submit" value="Szukaj">
</form>
<br>
<?php
if(isset($_POST['submit'])){
if(isset($_GET['go'])){
if(preg_match("/^[ a-zA-Z]+/", $_POST['name'])){
$name=$_POST['name'];
//connect to the database
$db=mysql_connect ("host", "user", "pass") or die ('I cannot connect to the database because: ' . mysql_error());
//-select the database to use
$mydb=mysql_select_db("base");
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
//-query the database table
$sql="SELECT pl, cz FROM slow WHERE pl LIKE '%" . $name . "%' or cz LIKE '%" . $name . "%'";
//-run the query against the mysql query function
$result=mysql_query($sql);`
Задача ещё не решена.
Других решений пока нет …