• ベストアンサー

MySQLの接続に使う拡張モジュールについて

趣味でwebサイト制作を考えている初心者です。 SQL、PHPともに初めて扱います。 基礎からのMySQLという書籍を購入し、進めていたのですが、 この書籍ではmysql_queryを扱うと書かれていました。 しかし、mysql_queryが非推奨になったと知って、困っております。 質問内容 1. 書籍の通り、mysql_queryを一通り学んだ方がよいでしょうか? 2. その他にPDO、mysqliというものがあるそうですが、扱いやすさに違いなどはありますか? よろしくお願いいたします。

noname#257344
noname#257344
  • MySQL
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5083/13282)
回答No.1

1.本番環境用としてはお勧めしませんが、ご自身の勉強用としてならどれで学んでも構いません。 どれで勉強しても基礎となる考え方は同じですから、まずは書籍に従って一通り勉強してみればいいと思います。 2.それぞれに良い所、不便な所がありますが、基本的な動作原理、考え方は同じですから、どれか一つキッチリ勉強すれば他のモノもすぐに使いこなせるようになると思います。

noname#257344
質問者

お礼

基礎を身に着けるためにも、まずは書籍通りに進めてみようと思います。 ご回答ありがとうございました。

関連するQ&A

  • mysqlについてサンプルなど教えてもらえませんか

    すいません。今phpなどを使いウェブサイトを作っているのですが、データベースがどうしても 必要となり、参考サイトなどを見ながら作りました。 ほとんどできたのですが、最後に一部データベースの関数などでわからない事があり困っています。 (正直私はプログラムはphp程度が少し分かる程度で、データベースも単純な使い方しかしない 予定なので参考サイトをざっと見ただけでmysqlの事がほとんど分かりません) ググってそれらしい物を探してはいるのですが、私がやりたい事はデータベースから 件数を取りたいだけです。 取った件数をphpで表示したいのですが、何時間やっても良くわかりません。 申し訳ないんですが取り出した後その件数をphpのechoで表示するまでをサンプルとして書いてもらえませんか?(可能であれば「ここでこのような処理が行われている」とコメントがもらえると助かります) データベース関係はphpと違って初心者用のサイトなども無く、書いてある事がほとんど分かりません。 (ここでSELECT COUNT(*)を使うと教えてもらったのですが、SELECT COUNT(*)でググっても サンプルなども出てきません) $pdo = new PDO("mysql:dbname=aaa", "root"); $pdo->query("set names utf8;"); // ------------------------------------------------ $sql = $pdo->query("SELECT COUNT(*) FROM bbb"); $stmt = $pdo->query($sql); $stmt->execute(); $count=$stmt->rowCount(); echo $count; ----------------------------------------------- $result = mysql_query("SELECT COUNT(*) FROM bbb"); $row = mysql_fetch_assoc( $result ); echo $row;

    • ベストアンサー
    • MySQL
  • mysql mysqli 違いなど

    php & mysql Webアプリ開発初心者向け関連の本を読みながら学習している者です・・・。 本によってはSQL文が、mysql~と書いてあるものもあれば、mysqli~と書いてあるものもあります。 わからなくなってしまいました・・・。 PHPのバージョン ⇒ 5.2.17(phpinfo();にて確認) Mysqlのバージョン ⇒ 5.1.56(サーバー側のphpMyadminからselect version()にて確認) サーバーapacheのバージョン ⇒ 2(外人サポートに聞いたら、『2』とだけ言われました汗) 使用PC ⇒ Windows7 質問 1、私の場合、主にmysql mysqli、どちらを使っていけばいいでしょうか? 2、mysql mysqliの機能的な違いに関してよくわかりません。。phpやmysqlなどのバージョンによって片方のみを使用するのか、時と場合によって使い分けるのか、別にどちらを使用してもいいのか、など・・。 すいません、検索したんですけど、よくわかりませんでした・・・涙

    • ベストアンサー
    • MySQL
  • mysql_real_escape_string?

    mysql_real_escape_stringは、非推奨なのでしょうか? ▽PHP: mysql_real_escape_string - Manual   http://php.net/manual/ja/function.mysql-real-escape-string.php >この拡張モジュールを使うことはおすすめできません。 MySQLi あるいは PDO_MySQL を使うべきです この「拡張モジュール」って何を意味しているのでしょうか? 「mysql_real_escape_string」のことでしょうか? それとも、mysql_set_charset()などで、「デフォルトの文字セット」を設定しておけば、利用しても良いのでしょうか?

    • ベストアンサー
    • PHP
  • mysql_queryがある場所について

    ZendFramework-1.11.7を使用しています。 Zend_DbでPdo_Mysqlで接続して利用しています。 そこで、クエリを実際に実行している箇所を探しているのですが、 ソースの中にmysql_queryが見つからないのです・・・ PHPとかでSQLを発行したい場合にはmysql_queryでやるんですよね?? ┬ Zend │└ Db │ ├ Statement.php ファイルには public function execute(array $params = null) { /* * Simple case - no query profiler to manage. */ if ($this->_queryId === null) { return $this->_execute($params); } があるのですが、これは $this->_execute($params); を実行していて ┬ Zend │└ Db │ ├ Statement │ │ ├ Pdo.php ファイルには public function _execute(array $params = null) { try { if ($params !== null) { return $this->_stmt->execute($params); } else { return $this->_stmt->execute(); } があるのですが、これは $this->_stmt->execute(); を実行しているようなのです。 なんか行ったり来たり(^^;)していて最終的にどこでSQLを発行(mysql_queryを実行)しているのかが フォルダ全体を文字列検索しても見つからないのです・・・ _stmtが何のオブジェクトなのかが定かではないので、追跡しづらいのかもしれませんが、 どこでSQLを発行しているのか教えて頂けないでしょうか?

    • ベストアンサー
    • PHP
  • phpでmysqlの結果がresouceにならない

    いつもお世話になります。初心者で何も知識がないまま進めておりますが故に行き詰っております。詳しい方からのアドバイスお願い致します。 今回はphpでmySQLの結果をmysql_fetch_assoc() で展開しようと思ったら以下の文章が出てきました。 mysql_fetch_assoc() expects parameter 1 to be resource, object given in・・・ 調べてみると変数の型(この場合は$resouce)がresourceではないとのことで、戻ってきた型を調べてみるとarrayで戻ってきているようです。 問題となっている箇所は以下の単純なクエリだとは思うのですが、何が原因か分からず。。。 $sql = "SELECT * FROM テーブル名;"; ※テーブル名には変数がありケースバイケースでテーブル名が変わります $resouce = $mysqli -> query($sql) or die(mysqli_error()."エラー"); while ($data = mysql_fetch_assoc($resouce)) { ・・・ お分かりの方がいらっしゃいましたら、ぜひよろしくお願い致します。 •ソフトウェア: MySQL •ソフトウェアバージョン: 5.0.67 •php5

    • ベストアンサー
    • PHP
  • PHPからMySQLに接続はできるが、Sql操作ができない

    PHPからMySQLを使おうとしているのですが、 SQLクエリでの操作に対する反応がなく、困っています。 mysql_select_db()でtrueが返ってきているので、 DBにはアクセス出来ているようなのですが、 mysql_query()を実行しても何も返らず、エラーも出ません。 SQLに間違いはなく、あってもエラーがでるはずだったと思うのですが… 何かお分かりのことが御座いましたら、ご協力お願いいたします。

    • ベストアンサー
    • MySQL
  • mysqliについて

    PHP初心者です PHP 5.2.5 MySQL 5.1.22 レンタルサーバーのphpのバージョンが php5.2.5ではpdoがバグで使えないらしいのでmysqliを使おうとしています。PHP 5.2.5でもmysqliはバグありますか? mysqliでMYSQLに接続するにはどうすればいいのでしょうか? いままではこんな感じでしたがmysqliにするとどんなコードになるのでしょうか? $link=mysql_connect('localhost', 'user', 'pass')or die(mysql_error()); mysql_select_db(user'); mysql_query('SET NAMES UTF8'); $start=1; $hyouji=10; $recordSet = mysql_query(sprintf('SELECT * FROM hoge2 ORDER BY id LIMIT %d, %d' , ',$start,$hyouji)); <?php while ($table = mysql_fetch_assoc($recordSet)) { ?> <tr> <td><?php print($table['id']); ?></td> <td><?php print($table['name']); ?></td> </tr> <?php } ?>

    • ベストアンサー
    • PHP
  • PHP+PDO+MYSQL で実行されたSQL文の取得について

    PHP+PDO+MYSQL で実行されたSQL文の取得について PEARのDBからPDOへの移行をしていましてデバック用のSQL文取得で困っています。 $sql = "SELECT * FROM sample where id = ? And id2 = ?" PEARのDBでは $db->query($sql,array(1,5)); $db->last_query; で実行したSQL文を取得することは可能でした。 PDOの場合 $sql_result = $pdo->prepare($sql); $sql_result->execute(array(1,5)); でリプレースフォルダ(クォート処理?)を利用してSQLを実行出来るようですが、 実行したSQLを確認する方法がマニュアル等を読みましたがどうしても分かりません。 どなたかご存知の方がいらっしゃいましたらご教授お願い致します。

    • ベストアンサー
    • PHP
  • PHPからMySQLのデータベースが作成できない

    PHP:4.4.4 MySQL:4.1.21 です。 PHPからデータベースを作りたいのですがうまくいきません。 以下のように記述しています。 $sql = "CREATE DATABASE ".$DBNAME; $rst = mysql_query($sql,$con); $DBNAMEには作りたいデータベースの名前が入っています。また、$conにはIDが入っており接続はできているようです。しかしこの後で$rstをechoするとTRUEでもFALSEでもなく、何も入っていない状態です。 これはどうすればデータベースをcreateできるのでしょうか? 非推奨のようですがmysql_create_dbを使ってたところ画面が真っ白になってしまいました。

    • 締切済み
    • PHP
  • PHPの書き方について

    PHPを独学で勉強中で、気になったことがあるので質問させていただきます。 最初に買った書籍とその次に買った書籍で書き方が違うところがあるので、普通はどちらでやるのか、また、使い分けがあるのかが知りたいです。 たとえば、データベースを1行ずつ取り出す処理で、1冊目では $pdo = new PDO($dnsinfo,$USER,$PW); $sql = "SELECT * FROM ○○"; $stmt = $pdo->prepare($sql); $stmt->execute(null); $res = ""; while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ $res .= $row['△△'] ."," .$row['□□'] ."<br>\n"; } ・・・というコードがあったのですが、2冊目には同じような処理が mysqli_fetch_assoc()を使って書かれていたり、 接続の仕方も1冊目では「new PDO($dnsinfo,$USER,$PW);」を使って書かれているのが、2冊目では「mysqli_connect()」になっていたり、 他にも同じような処理がよく似たコードで書かれています。 調べてみると、PHP5.5から1冊目のやり方になった・・・ような記事を見つけたのですが、どちらの本もPHP5.5と書いてあり、いまいちよくわかりません。 詳しい方いらっしゃいましたらご教示お願いいたします。

    • ベストアンサー
    • PHP