
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を探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
insert1つの処理でもトランザ...
-
JAVA SQLServerException 列名 ...
-
エクセルVBAのデータベース接続...
-
<VB.NET>INSERT文でDBにデータ...
-
SQL文の連結が、うまくいきません
-
エラー3011
-
会員登録したらメールが送られ...
-
MySQLでデータベースにデータin...
-
sqlから多次元配列に要素を格納...
-
MySQLに保存した画像を表示したい
-
csvをDBへ読み込んだら、NULLが...
-
phpのif文について
-
ラジオボタンをループすること...
-
checkboxで複数選択して,OR...
-
大変困っております。PHP ...
-
文字化けが解決できません。お...
-
VBA初心者です。
-
SQL文が実行できません
-
phpのエラーについてです
-
会員サイトでログイン後の会員...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Pro*Cの構文エラー
-
JAVA SQLServerException 列名 ...
-
PHPからデータベースに接続した...
-
insert1つの処理でもトランザ...
-
<VB.NET>INSERT文でDBにデータ...
-
Q&Aサイトを作成していてURLの...
-
like検索の複数キーワードで、...
-
VBA ACCESS SQL...
-
MySQLのINSERT時にたまに重複に...
-
データベースに存在するデータ...
-
VB.NET エラーになる箇...
-
mysql php 複数のクエリ
-
ODBC接続でデータ件数を求...
-
phpで複数の検索語を検索対象に...
-
PDOを使って複数キーワード検索...
-
エクセルVBAのデータベース接続...
-
PHP+PDO+MYSQL で実行されたSQ...
-
チェックボックスからの複数検...
-
PHP&MySQLでの文字列+数列の一...
-
phpmyadminにタグを格納するには
おすすめ情報