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)。

これらの2行を次のように変更してみてください。

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