phpでmysqli構文が上手く動きません
質問します、よろしくお願いします。
現在 winVista、Xampp( apache、 php5、 mysql)にてプログラムの勉強をローカルで行っています。
ですが、書籍に載っていた以下のコードを実行してもエラーがでてうまく動きません。
幾ら調べてもわからず困っております、なにが原因でしょうか?ご教授をお願いいたします。
<?php
/*************************************************
* データベース操作
*
*/
require_once \'MDB2.php\';
$sv = \"localhost\";
$dbname = \"login_apri\";
$user = \"root\";
$pass = \"123456789\";
$dsn = \"$dbType://$dbUser:$dbPass@$dbHost/$dbName\";
//----------------------------------------------------
// データベース接続
//----------------------------------------------------
function db_connect($dsn){
$conn =& MDB2::connect($dsn);
// 接続に失敗したらメッセージを表示して終了します。
if (MDB2::isError($conn)){
die($conn->getMessage());
}
return $conn;
}
//----------------------------------------------------
// 検索結果を多次元配列で受け取る
//----------------------------------------------------
function select_arrays($conn, $sql){
$result = execute_sql($conn, $sql);
// レコードの取得
$i=0;
$data = array();
while ($rec = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
foreach( $rec as $key => $value){
$value = sjis2euc_for_Winodows($value);
$data[$i][$key] = $value;
}
$i++;
}
// 検索件数
$count = $result->numRows();
// クエリー結果セットの開放
$result->free();
return array($data, $count);
}
// 検索件数
$count = $result->numRows();
// クエリー結果セットの開放
$result->free();
return array($data, $count);
}
/*************************************************
ブラウザに表示されるエラーは以下の通りです。
Fatal error: Call to undefined method MDB2_Error::fetchRow() in C:\\xampp\\htdocs\\HP\\login_main\\php_libs\\module\\dbtest3.php on line 32
32行目は
while ($rec = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
どなたかご回答をなにとぞ宜しくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
$resultがエラークラスとして返ってきていますね。
SQLを発行した後で$result->getUserInfo()を出力するなりして調べてみてください。
あと、SQLの発行はMDB2のメソッドを使うのが自然ではないでしょうか。
No.1
- 回答日時:
> $result = execute_sql($conn, $sql);
この結果、$resultにnullとか返っちゃってるんじゃないですかね。
この回答への補足
ご指摘ありがとうございます。
ちなみにですが、下記の様な構文を書いてあります。
function db_get_ken_data($conn){
$key_array = array();
$sql = <<<EOS
SELECT * FROM m_ken
EOS;
list($data, $count) = select_arrays($conn, $sql);
foreach($data as $array){
$key_array[$array['id']] = $array['ken'];
}
return $key_array;
}
SELECT * FROM m_ken; についてDBのコンソール上で実行できました
下記の構文に間違いがあると言うことでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
insert1つの処理でもトランザ...
-
PEARのgetOneでレコードが見つ...
-
<VB.NET>INSERT文でDBにデータ...
-
Pro*Cの構文エラー
-
SQLインジェクション対策
-
VBA ACCESS SQL...
-
phpmyadminにタグを格納するには
-
mysqlの命令文をPDOに書き換...
-
PHPからデータベースに接続した...
-
VB.NET エラーになる箇...
-
sqliteの構造体
-
【初歩】配列の格納データ数だ...
-
C# で発生したException.Messag...
-
配列をループさせてUPDATE
-
MySQLでデータベースにデータin...
-
PHP4でのSmarty派生クラスの定...
-
実行時エラー3131 FROM 句の構...
-
Accessのテーブルへ複数の主キ...
-
PHP、SQLite3のデーターでログ...
-
csvをDBへ読み込んだら、NULLが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
insert1つの処理でもトランザ...
-
データベースに存在するデータ...
-
JAVA SQLServerException 列名 ...
-
<VB.NET>INSERT文でDBにデータ...
-
ResultSetインターフェイスでの...
-
Pro*Cの構文エラー
-
phpで複数の検索語を検索対象に...
-
INSERT,DELETEを同時に
-
VBA ACCESS SQL...
-
phpでforeach ($stmt as $row)...
-
MySQLのINSERT時にたまに重複に...
-
MYSQL UPDATE
-
配列をループさせてUPDATE
-
VB.NET エラーになる箇...
-
PHPからデータベースに接続した...
-
php postgres Insert と updat...
-
PHPのSQL文のデバッグ方法とコ...
-
PHP+PDO+MYSQL で実行されたSQ...
-
phpのupdate,sql文にて連番カラ...
-
PHPよりMySQLの操作のコードの...
おすすめ情報