ホームページ > バックエンド開発 > PHPチュートリアル > PHP は mysql に接続してデータをクエリします

PHP は mysql に接続してデータをクエリします

WBOY
リリース: 2016-06-23 14:23:06
オリジナル
1573 人が閲覧しました

php mysql クエリ

図に示すように、主キー pmcode とその他の属性を持つテーブルがデータベースにあります。
ここで、pmcode を使用して、ユーザーが存在するかどうかを判断したいと思います。存在する場合は、その情報を取り出します。存在しない場合は、「存在しません」を返します。その後、結合された xml の形式で送信します。コードは次のとおりです:
//拆分发来的信息得到会员卡号            $arry=explode("+",$form_Content);            $memberid =$arry[1];              //连接数据库            $link=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);               if($link) {                   mysql_select_db(SAE_MYSQL_DB,$link);                    //查询数据                   $result1=mysql_query("select * from numbers where pmcode = '".$memberid."';");                 $num_result = mysql_num_rows($result1);                   if($num_result==1){                       //   $row= $result1->fetch_assoc();                       $row=mysql_fetch_row($result1);                        $result_str="您的会员--信息如下:\n\n卡号:$row[pmcode].\n姓名:.$row[names].\n等级:.$row[4].\n积分:$a[5]";                         $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,$result_str);                         echo $resultStr;                                           exit;                   }else{                     $msgType = "text";                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,"--select * from numbers where pmcode = '".$memberid."'");                      echo $resultStr;                                      exit;                   }        }   else{             echo "连接数据库失败".mysql_error;            }                           mysql_close($link);        }
ログイン後にコピー

ただし、正しい pmcode を入力してもデータを取得できません。変更してください


ディスカッションに返信します (解決策)

if($num_result==0){                           //   $row= $result1->fetch_assoc();                           $row=mysql_fetch_row($result1);                            $result_str="您的会员--信息如下:\n\n卡号:$row[pmcode].\n姓名:.$row[names].\n等级:.$row[names].\n积分:$a[names]";                             $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,$result_str);                       		echo $resultStr;                                               exit;
ログイン後にコピー

== 0 に変更しても機能しません

echo $memberid; をコピーしてデータを取得できますか?

echo $memberid; SQL を dos コマンド ラインにコピーして実行すると、どのような値が得られますか?

$num_result = mysql_num_rows($result1);

echo $num_result; //出力とは何ですか
$num_result = mysql_num_rows($result1);

echo $num_result; //出力とは何ですか



そうです、メイン投稿のコードは問題ありません。if を入力できるはずです。

そうです、メイン投稿のコードは問題なく、if を入力できるはずです。

データを取得した後、内部の属性を取得するにはどうすればよいですか?また、pmcode や名前などを出力するにはどうすればよいですか?

$row=mysql_fetch_row($result1);
print_r($row);

print_r($row);

names 属性だけを取得するのはどうですか?

$row['names']

$row['names']

 $link=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);    if($link) {                                                                mysql_select_db(SAE_MYSQL_DB,$link);                        $memberid="J00000000B005";                       //查询数据                       $result1=mysql_query("select * from numbers where pmcode = '".$memberid."'");                                          $row=mysql_fetch_row($result1);                      $num_result = mysql_num_rows($result1);                                        if($num_result==1){						$resultStr= $row['names'];                        echo "fff".$resultStr;                                          exit;                                                }else{                                                    echo "未找到数据";                                                }                                       } else{                    	             echo "连接数据库失败".mysql_error;                 }              	   mysql_close($link);
ログイン後にコピー
なぜ fff だけが出力されるのですか?

print_r($row); // 結果を投稿します


Array ( [0] => J00000000B005 [1] => ?ㄧ??? [2] => F [3] => [4 ] => 20121012 [6] => 20130430 [7] => Z [8] => JE11 [9] => 0 [10] => 0 [11] => 0 [12] => [13] => )

print_r($row); // 結果を投稿

Array ( [0] => J00000000B005 [1] => F [3] => ; [4] => [5] => 20130430 [9] => 0 [10] 11] => [12] => [13] =>

ああ、間違えました。

echo $row[1];


文字化けがあるので、クエリの前に文を追加してください: mysql_query("set names utf8"); 試してください

mysql_fetch_row を mysql_fetch_assoc に変更してみてください。 。 。次に、配列を出力します

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート