[英]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.