Keine Ergebnisse bei bindParam

grillfleisch

Erfahrenes Mitglied
Hallo,

Wieso bekomme ich keine Daten zurück, wenn ich mit PDO bindParam in dieser konstellationhttps://www.google.de/search?q=kons...&ved=0ahUKEwj1utD42p3LAhXFlnIKHcjfAOwQBQgaKAAarbeite.

PHP:
public function funktion($s,$i) {
  $ID = $this->gibUserId();
 
$query = "SELECT * FROM `table` WHERE `spalte1` In(:id,:s) AND `spalte2`=:i";
$stmt=$this->db->prepare($query);
$stmt->bindParam(":id",$ID,PDO::PARAM_INT);
$stmt->bindParam(":s",$s,PDO::PARAM_INT);
$stmt->bindParam(":i",$i,PDO::PARAM_STR);
$stmt->execute();
$rows = $stmt->rowCount();
if($rows) {
  return $rows;
}else{
  return false;
}
}

Wiederrum bringt diese die gewünschten Ergebnisse.
PHP:
public function funktion($s,$i) {
  $ID = $this->gibUserId();
 
$query = "SELECT * FROM `table` WHERE `spalte1` In({$ID},{$s}) AND `spalte2`='{$i}'";
$stmt=$this->db->prepare($query);
$stmt->execute();
$rows = $stmt->rowCount();
if($rows) {
  return $rows;
}else{
  return false;
}
}
 
Irgendwie habe ich eas im Hinterkopf, dass der IN() Probleme machen könnte.
Versuchs mal mit
SQL:
WHERE (`spalte1` = :id OR `spalte1` = :s) AND `spalte2`=:i
 
Hallo Yaslaw,
danke dir für deine Antwort.

in der Spalte1, welche Meeting lautet, sind zwei User IDs durch Komma getrennt gespeichert. Jeder von ihnen könnte Schreiber oder Empfänger sein.

SQL:
WHERE (`spalte1` = :id OR `spalte1` = :s) AND (`spalte3` = :id OR `spalte3` = :s) AND `spalte2`=:i

Müsste es dann so versuchen, sieht aber nicht schön aus :)

EDIT: So scheint es jedoch auch zu funktionieren. Schade nur, da ich mir eine Gruppenkonversation offenhalten wollte.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück