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 (将#修改为@)