0

mysql 拡張機能の使用から mysqli 拡張機能に変換する PHP 関数があります。

ここまでは順調です。以前は mysql_result を使用して単一のデータを取得していました。mysqli には直接同等のものがないため、次のことを試しましたが、まだ機能しません。

function getdbvalue($table,$value,$idfield,$id) {
  $qrytext = "SELECT $value FROM $table WHERE $idfield LIKE '$id'";
  $valueqry = mysqli_query($dbh,$qrytext);
  if (FALSE === $valueqry) die("Select failed: ".mysqli_error);
  $result = mysqli_fetch_row($valueqry);
  $returnvalue = $result[0];
  return $returnvalue;
}

変数が正常に関数に渡され、関数が実際にトリガーされていることを確認しました。$id を返すと、ID 番号が表示されます。

クエリのエラーは発生しません。

解決済み:

関数にデータベース接続変数をグローバルとして追加する必要がありました。

作業コード:

function getdbvalue($table,$value,$idfield,$id) {
  global $dbh; // This was missing!
  $qrytext = "SELECT $value FROM $table WHERE $idfield LIKE '$id'";
  $valueqry = mysqli_query($dbh,$qrytext);
  if (FALSE === $valueqry) die("Select failed: ".mysqli_error);
  $result = mysqli_fetch_row($valueqry);
  $returnvalue = $result[0];
  return $returnvalue;
}

みんなの助けに感謝します。:)

4

1 に答える 1