メンバーメニュー

ようこそ、ゲストさん

トップ > カテゴリ一覧 > 各種プラン > PHPのmysqlndについて

質問

  • スタンダード

    PHPのmysqlndについて
  • 本文:

    スターサーバーでは、「mysqlnd」はインストールされていないのでしょうか?

    配置したPHP内の関数がないってエラーになってしまい、困っています。

  • 緊急度:緊急投稿者:alivingさん投稿時間:2019/02/17 03:14
質問に対する回答は締め切られました

回答 No.8494

  • この回答がベストアンサーです

  • 本文:

    公式の情報を引いて、ちゃんと答えますと、

    公式のドキュメントでは
    https://secure.php.net/manual/ja/set.mysqlinfo.php
    に書いてあります。

    | PHP から MySQL データベースにアクセスするための API は、二種類または三種類 (PHP のバージョンによって異なります) です。
    | PHP 5 を使う場合は、 非推奨の mysql 拡張モジュールか、 mysqli あるいは PDO_MySQL が利用できます。
    | PHP 7 では mysql 拡張モジュールが削除されたので、残りの二種類のいずれかを利用します。
    https://secure.php.net/manual/ja/mysql.php

    下記の2ページを読んでもらえればわかりますが、
    https://php.net/manual/ja/mysqlinfo.api.choosing.php
    https://php.net/manual/ja/mysqlinfo.library.choosing.php
    mysqlnd は ドライバであっても、API ではない、
    つまり、インターフェイスではないわけです。

  • 投稿者:ayaguchiさん 投稿時間:2019/02/17 13:42

回答 No.8490

  • 本文:

    > 配置したPHP内の関数がないってエラーになってしまい

    エラーメッセージは正確に引用しないと役に立たないのですよ...

    mysql_ 系の関数は php7.xでは廃止になっています(代わりに mysqli_系の関数かPDOを推奨)が、これはmysqlndとは関係ないですね。

    mysqlのバージョンを下げてみれば?

  • 投稿者:ジョバンニさん 投稿時間:2019/02/17 07:10

回答 No.8491

  • 本文:

    mysqlnd は API ではありませんから、
    mysqli か pdo_mysql を使うはずです。

    > 配置したPHP内の関数がないってエラーになってしまい、困っています。

    その、何の function を使おうとして、どういうエラーになったかが問題でしょう。

  • 投稿者:ayaguchiさん 投稿時間:2019/02/17 09:17

回答 No.8492

  • 本文:

    さしずめ、mysql_connectあたりでエラーが発生して
    ググったら、「php-mysql」が廃止されて、「php-mysqlnd」に置き換わった
    とかの記事を読んでの質問でしょう。

    mysqli_connectに書き換えれば動くんだけど、mysql_hogehogeを全てmisqli_hogehogeに書き換えるか、書き換えずに古いphp5系を選ぶか。

    php5.5でmysql_は非推奨になってるので、動かそうとしているスクリプトをmysqli_に書き換えた方が良いかと

    http://php.net/manual/ja/intro.mysql.php

  • 投稿者:Don.Gabachoさん 投稿時間:2019/02/17 10:25

回答 No.8493

  • 本文:

    何かを参考にして自作してるのなら、
    「mysqli_connect」で検索してヒットするサンプルを使ったほうが良い。

    提供されているものをそのまま使いたいのなら、PHP7未満にするしかない。


    PHPバージョン設定 | レンタルサーバー【スターサーバー】 https://www.star.ne.jp/manual/homepage_php_ver.php

    お勧めはしない。


    PHP7から、MySQLi関数(※iがついている)
    mysqli_connect

    PHP7未満、MySQL関数
    mysql_connect

    関数名を変換して、引数も少し変わったので、地道に変更すれば動くけど・・。



    >>
    MySQLを使ったプログラムを別サイトから引っ張ってきたのですが
    query()での結果を受け取るためのget_result()が動きません。
    調べるとmysqlndというドライバが必要らしいのですが、スターサーバーには導入されているのでしょうか?PHPは7.1にしてあります。

    https://secure.netowl.jp/bbs/detail.cgi?td=3346
    <<

  • 投稿者:k-tanさん 投稿時間:2019/02/17 10:40

回答 No.8495

  • 本文:

    もしも、mysqlnd 特有の機能を活用したかったということであれば、

    > スターサーバーでは、「mysqlnd」はインストールされていないのでしょうか?

    私のサーバアカウントの PHP 7 だと、

    php -m
    php -i
    phpinfo()

    のいずれでも mysqlnd は出てこないことからすると、
    mysqlnd はインストールされていないと思われます。

    libmysqlclient 使用かと。

  • 投稿者:ayaguchiさん 投稿時間:2019/02/17 14:35

回答 No.8646

  • 本文:

    平素はネットオウルをご利用いただき誠にありがとうございます。
    ネットオウル運営チームです。

    本ご質問は一定期間新たな回答がなかったため
    運営チームで締め切らせていただきました。


    ■質問の締め切りについて

    Q&A掲示板はユーザー様同士の交流掲示板です。
    回答がもらえた場合、回答者へお礼コメントをしましょう。

    問題が解決した際にはベストアンサーを選び、
    質問を締め切ってください。


    ■再度のご質問について

    ご質問が未解決の場合、「ワンポイント!」を参考に、
    再度質問してみてください。

    【ワンポイント!】

     メールやFTPの設定がうまくいかない場合、
     ネットオウルIDやサーバーIDなどのお客様情報を公開しない範囲で、
     現在の設定内容を出来るだけ詳しく書いてみましょう。
     設定内容のミスを指摘してもらえるかもしれません。

     エラーが出てうまくいかない場合、
     エラーメッセージの内容を書いてみましょう。
     エラーメッセージにはエラー原因が詳しく書かれていることが多く、
     問題の解決につながる回答が得られるかもしれません。


    ■ベストアンサーについて

    ご質問の締め切りに際して、運営チームにて
    ベストアンサーを選んでおります。

     ※ベストアンサーの回答者様には通常と同様のポイントが
      付与されています。


    --ネットオウル運営チーム--

  • 投稿者:ネットオウル運営 投稿時間:2019/03/13 16:04