質問
-
スタンダード
PHPのmysqlndについて -
本文:
スターサーバーでは、「mysqlnd」はインストールされていないのでしょうか?
配置したPHP内の関数がないってエラーになってしまい、困っています。 - 緊急度:緊急投稿者:alivingさん投稿時間:2019/02/17 03:14
回答 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
回答 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 ではない、
つまり、インターフェイスではないわけです。