2017-06-09 1 views
0
$searchTerm = isset($_GET['txtSearch']) ? $_GET['txtSearch'] : ''; 
$searchTerm = strtolower($searchTerm); 
$searchTerm = strip_tags($searchTerm); 
$searchTerm = trim($searchTerm," "); 

$keywords = explode(" ",$searchTerm); // break down search term into individual keywords 

$in = join(',', array_fill(0, count($keywords), '?')); 
$select = <<<SQL 
    SELECT * 
    FROM m_products 
    WHERE product_title IN ($in); 
SQL; 
$statement = $con->prepare($select); 
$statement->bind_param(str_repeat('s', count($$keywords)), ...$keywords); //s = string, d = double, i = integer 
$statement->execute(); 

ich die folgenden Fehlermeldung aus dem obigen Code bekommen:Fehler "Array String-Konvertierung in" mit mysqli bind_param

  • Hinweis: Array String-Konvertierung in
  • Hinweis: Nicht definiert Variable: Array in
  • Warnung: mysqli_stmt :: bind_param(): Ungültiger Typ oder keine angegebenen Typen in

Wie löse ich diesen Fehler?

+0

$ aussage-> bind_param (str_repeat ('s', count ($$ keywords)), ... $ keywords); hat ein doppeltes $$ Zeichen – Deathstorm

+0

Danke ich korrigierte das doppelte $$ Zeichen und jetzt ist der Fehler gelöst. –

Antwort

0

Wie ich in den Kommentaren oben gesagt haben:

$statement->bind_param(str_repeat('s', count($$keywords)), ...$keywords); //s = string, d = double, i = integer 

hat eine doppelte $$ in der count($$keywords)) ein entfernen $ und der Fehler behoben werden soll.

Verwandte Themen