Warning: A non-numeric value encountered - PHP Problem


#1
Hi,

Ich habe eine Search Bar und dort steht in line 14 folgendes:
$q = mysqli_query($conn, "SELECT * FROM search WHERE keywords LIKE "%$searchq%" OR title LIKE "%$searchq%"") or die(mysqli_error());
Das gefällt PHP allersdings irgendwie nicht so ganz, denn es kommt folgende Meldung:
Warning: A non-numeric value encountered in C:\xampp\htdocs\...\search.php on line 14
Ich habe PHP 7.3.0
Ich hoffe mir kann jemand sagen wo der Fehler liegt und wie man ihn beheben kann!?

VG Jan
 

Yaslaw

n/a
Moderator
#2
Verwende ' innerhalb eines Strings anstelle von "
PHP:
//ist:
$q = mysqli_query($conn, "SELECT * FROM search WHERE keywords LIKE "%$searchq%" OR title LIKE "%$searchq%"") or die(mysqli_error()); 
//soll
$q = mysqli_query($conn, "SELECT * FROM search WHERE keywords LIKE '%{$searchq}%' OR title LIKE '{%$searchq}%'") or die(mysqli_error());
 

Yaslaw

n/a
Moderator
#4
Ist nicht dasselbe.

Es lohnt sich mal den Abschnitt über Strings in der Doku zu lesen: PHP: Strings - Manual

Bei deinem Code "code1 "text" code2" wird der String unterbrochen. Der String geht immer von einem " bis zu einem" oder von einem ' zu einem'
- Wenn man ein Anführungszeichen innerhalb eines Strings setzen will, dann nimmt man das andere oder man maskiert das Zeichen
- Variablen innerhalb von ' werden nicht geparst
- SQL versteht ' und "
 

Neue Beiträge