こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

MySQL のクエリーについて

次のようなコードでMySQLから受け取った結果を文字列として処理したいのですが、この結果は文字列ではないようです。
MySQL関係の文を下にコピーしてます。

$cxn=mysqli_connect("localhost","root","phpscript1682")
or exit("failed to connect to MySQL");
$db=mysqli_select_db($cxn,karaoke)
or die("failed to open karaoke database");
$source_table="originalpath";
$destnation_table="num2song";
$idnum=1;
while ($idnum<10){
$jobrequest="select songpath from $source_table where id=$idnum";
$result=mysqli_query( $cxn, $jobrequest)
or die("fail to get job done");
.....
.....
$idnum++;
} // end while

$jobrequest にある songpath というのは originalpath というテーブルの中のフィールドで、文字列です。それを要求してクエリーを実行したので $result の中身はsongpath の値の文字列だと思ったのですが、そうではないようです。
これを文字列として扱えるように変換する関数などあるのでしょうか?
詳しい方、どうぞ教えてください。お願いします。

投稿日時 - 2018-08-25 11:43:03

QNo.9530735

困ってます

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

mysqli_query() の戻り値は mysqli_result クラスのオブジェクトです。
なので、mysqli_fetch_all() とか mysqli_fetch_assoc() を使ってSQLの実行結果を配列で受け取ってから処理する必要があります。

http://php.net/manual/ja/class.mysqli-result.php

投稿日時 - 2018-08-25 12:08:09

お礼

早速にご回答いただき、有難うございます。
自分でもよく調べてみてmysqli_fetch_assoc() を使って、フィールド名をキーにした連想配列で取り出せるとわかりました。勉強になりました。

投稿日時 - 2018-08-25 13:47:00

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問