ホームページ >バックエンド開発 >PHPチュートリアル >ゼロから始める PHP 単一行 (13) PHP を使用して MySQL データベースのデータを表示する_PHP チュートリアル
1. PHP で SQL ステートメントを実行する
データベースからデータを取得するには、PHP はまず、テーブルに対して操作する SQL ステートメント (SELECT、INSERT、UPDATE、または DELETE ステートメントなど) を実行する必要があります。通常の状況では、PHP で SELECT ステートメントを実行すると、テーブルからいくつかのレコード行が見つかります。他のステートメントを実行する場合、ステートメントが正常に実行されたかどうかに関する情報のみが返されます。
通常、mysql_query() は mysql_error() と併用して、SQL 文の実行中に問題が発生した場合に、mysql_error() によって生成される情報に基づいて問題の原因を見つけることができます。<?php $host='localhost'; $user_name='root'; $password='helloworld'; $conn=mysql_connect($host,$user_name,$password);//连接MySQL if(!$conn) { die('FAIL!'.mysql_error()); } mysql_select_db('test');//选择数据库 $sql='select UserId,UserName,Gender from users'; $result=mysql_query($sql);//获取查询结果 if($result) { echo 'SQLsyntex:'.$sql.'<br/>Success'; $num=mysql_num_rows($result);//获取查询结果的行数 echo '<br/> select <b>'.$num.' </b>rows'; } mysql_close($conn); ?>2. PHP を使用してデータ結果セットを処理する
プログラム内で SQL ステートメントが正常に実行された後、mysql_fetch_array() を使用して特定のクエリ結果を取得できます。つまり、この関数を使用してレコードのフィールド値を取得できます。
<?php $host='localhost'; $user_name='root'; $password='helloworld'; $conn=mysql_connect($host,$user_name,$password); if(!$conn) { die('FAIL!'.mysql_error()); } mysql_select_db('test'); $sql='select UserId,UserName,Gender,cc from users'; $result=mysql_query($sql) OR die("<br/>ERROR:<b>".mysql_error()."</b><br/><br/><br/>Problem:<br/>.$sql"); if($result) { echo 'SQLsyntex:'.$sql.'<br/>Success'; $num=mysql_num_rows($result); echo '<br/> select <b>'.$num.' </b>rows'; } mysql_close($conn); ?>関数 mysql_fetch_array() は、この関数が結果セット内の行を返し、それを連想配列または通常の配列として扱うことを指示します。デフォルトでは、返される配列は両方です。 mysql_fetch_array() によって返される配列には、フィールド値ごとに 2 つのインデックスがあります。1 つは数値でインデックス付けされ、もう 1 つはフィールド名でインデックス付けされます。
<?php $host='localhost'; $user_name='root'; $password='helloworld'; $conn=mysql_connect($host,$user_name,$password); if(!$conn) { die('FAIL!'.mysql_error()); } mysql_select_db('test'); $sql='select id,name,sex,age from users'; $result=mysql_query($sql) OR die("<br/>ERROR:<b>".mysql_error()."</b><br/><br/><br/>Problem:<br/>.$sql"); if($num=mysql_num_rows($result)) { $row=mysql_fetch_array($result); echo '<pre class="code">'; print_r($row); } mysql_close($conn); ?>は、while ループを使用して関数 mysql_fetch_array() を複数回呼び出し、そのたびに呼び出しによって返された配列を変数 $row に割り当て、ループ本体で配列変数 $row を出力します。関数 mysql_fetch_array() を呼び出すときは、2 番目のパラメータを MYSQL_ASSOC として指定します。これにより、返される結果セット配列は、フィールド名によってインデックス付けされた連想配列になります。