微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP带有IN子句的Prepared语句不显示任何内容

如何解决PHP带有IN子句的Prepared语句不显示任何内容

以下是我正在为比较网站测试的代码。 但是我无法使其与预准备语句功能一起使用。 如果不使用prepared statement方法,我的代码将运行良好。 表结构或使用foreach看起来可能不是正确的方法,但对于某些其他功能则是必需的。

<?PHP
$dbname="ty465yu67u76i7";
$dbpass="jf54tg5y65y66u";
$dbuser="4t5t5y6y65u67u";
$hostname="localhost";
// SETP TWO : connecting to the database
$MysqLi = new MysqLi($hostname,$dbuser,$dbpass,$dbname);
$pid1="202882";
$userIdArray = [202882,202883,202884];
// number of question marks
$questionMarksCount = count($userIdArray);
// create a array with question marks
$questionMarks = array_fill(0,$questionMarksCount,'?');
// join them with,$questionMarks = implode(',',$questionMarks);
// data types for bind param
$dataTypes = str_repeat('i',$questionMarksCount);
// SETP THREE : sql query
$results = $MysqLi->prepare("SELECT * FROM phonespecs WHERE pid IN('.$questionMarks.')");
$results -> bind_param($dataTypes,...$userIdArray);
$results -> execute();
$results -> store_result();

?>
<div class="basic-information">
<h3>Basic information </h3>

<table class="table">
<tbody>

<tr>
<td>Models</td>
<?PHP foreach ($results as $result){ ?>
    <td> <strong><?PHP 
  if(!empty($result['name'])) {
   $mobname=$result['name'];
   } else{$mobname="Empty";}
   
   echo $mobname; ?></strong> </td>
<?PHP } ?>
</tr>


<tr>
<td>Manufacturer</td>
<?PHP foreach ($results as $result){ ?>
    <td> <strong><?PHP echo $result['brand']; ?></strong> </td>
<?PHP } ?>
</tr>

-以及更多表数据-

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。