2

这是我的简单查询,即使它没有执行,我的 $total 是 3;

$pnc = array();

$pnc[] = ('318','259','789');

$total = count($pnc);

for($p=0;$p<$total;$p++)
{
   echo $query = "select `id` from `patents` where `number`=?";
   $stmt = $mysqli->prepare($query) or $mysqli->error ;
   $stmt->bind_param("s",$pnc[$p]);
   $stmt->execute();
   $stmt->bind_result($id);
   $stmt->fetch();
   echo $id;
}

当我回显查询时,我得到了

select `id` from `patents` where `number`='318'

当我在 phpmyadmin 中运行此查询时,它会获取 'id' 值,但在这里它无法获取 id,

这是由于未定义的偏移量而出现的问题,bind_param("s",$pnc[$p]);即使我正在获取数组每个元素的值。

请为此提供解决方案谢谢。

4

2 回答 2

2

Change-

$pnc = array();
$pnc[] = ('318','259','789');
$total = count($pnc);

$pnc = array('318', '259', '789');
echo $total = count($pnc);

代码中的错误 -->错误

于 2013-01-09T05:17:02.003 回答
0

我的猜测被关闭error_reporting了,因为

 $pnc[] = ('318','259','789');
 $total = count($pnc);

给我一个语法错误(PHP 5.4.7)。

尝试将这两行更改为:

$pnc = array('318','259','789');
$total = count($pnc);
于 2013-01-09T05:18:00.280 回答