[英]using IN statement in mysql php queries
大家好,我希望每個人都做得很好。
我想知道如何在 PHP Mysql 查詢中使用 IN 語句,我在 DB 表中有這個例子,其中列名是 Model
Model column in mytable
A901:Y921:L102
我想刪除:並在 PHP SQL 查詢中使用它
SELECT * FROM mytable WHERE model IN (A901,Y921,L102)
我知道不可能這樣調用它應該是IN ('A901','Y621','L102')
但是我怎樣才能把它轉換成這種方式呢? 我想進行此調用以從不同表中獲取所有相關行。
我這樣謙虛的嘗試
<?php
if($mytable->model)
$mod = explode(':', $mytable->model);
foreach($mod as $ac)
{
echo $ac;
?>
RESULT: A901 Y921 L102
我接近你的幫助家伙。
$mod = explode(':', $mytable->model);
$pp = array_fill(0, count($mod), '?');
$paramPlaceholders = implode(',', $pp);
現在我們有一個像'?,?,?'這樣的字符串。 這些是在 SQL 語法中使用的參數占位符。 您可以將數組作為參數值傳遞給准備好的語句:
$query = "SELECT * FROM mytable WHERE model IN ({$paramPlaceholders})";
$stmt = $pdo->prepare($query);
$stmt->execute($mod);
回復您的評論:
我使用 PDO,我推薦它而不是 mysqli。 mysqli 的等效代碼將類似:
$query = "SELECT * FROM mytable WHERE model IN ({$paramPlaceholders})";
$stmt = $mysqli->prepare($query);
$stmt->bind_param(str_repeat("s", count($mod)), ...$mod);
$stmt->execute();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.