簡體   English   中英

PHP UTF-8搜索不起作用

[英]PHP UTF-8 search not working

出於任何奇怪的原因,我都無法搜索非英文字符。 腳本死亡。 我認為這是在搜索時死亡的。 空白頁,布局的一半,PHP腳本之后什么也沒有。

代碼是從工作站點(我自己的站點)復制的,減去了布局,因此應該可以正常工作。 但事實並非如此。

在search.php上:

<meta charset='utf-8' />

在表格上:

<form action='search.php' method='get' accept-charset='utf-8'>

在db_connect.php上:

mysqli_set_charset($db_connect, "utf8");

在數據庫上:utf8_general_ci

我還想念什么?

search.php(結果頁面):

<?php

include ("php/form.php");

$searchTerm = trim ($_GET['keyname']);

if (!empty ($searchTerm)) {
    if (strlen ($searchTerm) > 2) {
        include "php/search.php";
        } else {
            echo "<h1>Enter 3 or More Characters</h1><hr />$search_form";
            };
    } else {
        echo "<h1>Enter Search Term</h1><hr />$search_form>";
        };

?>

php / search.php:

$query = "SELECT * FROM members WHERE first_name LIKE '%$searchTerm%' OR
                                      last_name LIKE '%$searchTerm%' OR
                                      date LIKE '%$searchTerm%'";

$results = mysqli_query ($db_connect, $query)
           or die (mysqli_error (db_connect));

if (mysqli_num_rows ($results) >= 1) {
    $record = "";
    while ($row = mysqli_fetch_array ($results)) {
        include "result.php";
        } echo $record . "<hr />$search_form</main>";
    } else {
        echo "<h1>0 Matching Records</h1><hr />$search_form";
        };

錯誤:

非法混合排序規則以進行“贊”操作

您的代碼一團糟-或您匆忙復制/粘貼有錯誤。

首先查詢:

$query = " SELECT * FROM members WHERE first_name LIKE '%".mysqli_real_escape_string($db_connect, $searchTerm)."%' ";

注意mysqli_real_escape_string-您需要的最小清理。

然后結果:

$results = mysqli_query ($db_connect, $query) or die (mysqli_error ($db_connect));

您搞砸了mysqli_和mysql_(在die函數中)。 不好。

現在,如果這兩個更改對您沒有幫助,請嘗試將腳本放在最上方,放在所有其他內容之上:

error_reporting(E_ALL);
ini_set('display_errors', '1');

這應該可以幫助您在代碼中查明任何php錯誤。

找到了問題。 需要修復...

date LIKE '%$searchTerm%'無效。 破壞代碼。 到目前為止,我已經嘗試將LIKE更改為= ,刪除% ,放入mysqli_real_escape_string ($db_connect , $searchTerm)

至於數據庫字段,它是一種日期類型。

非法混合排序規則以進行“贊”操作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM