ホームページ  >  記事  >  php教程  >  ゼロから始める PHP 単一行 (13) PHP を使用して MySQL データベースのデータを表示する

ゼロから始める PHP 単一行 (13) PHP を使用して MySQL データベースのデータを表示する

WBOY
WBOYオリジナル
2016-06-21 08:48:15860ブラウズ

1. PHP で SQL ステートメントを実行します

データベースからデータを取得するには、PHP はまず、テーブルに対して操作する SQL ステートメント (SELECT、INSERT、UPDATE、または DELETE ステートメントなど) を実行する必要があります。通常の状況では、PHP で SELECT ステートメントを実行すると、テーブルからいくつかのレコード行が見つかります。他のステートメントを実行する場合、ステートメントが正常に実行されたかどうかに関する情報のみが返されます。

<?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);
?>
通常、mysql_query() は mysql_error() とともに使用され、SQL ステートメントの実行に問題が発生した場合に、mysql_error() によって生成された情報に基づいて問題の原因を見つけることができます。
<?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);
?>
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 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="brush:java;">';
	print_r($row);
}
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="brush:java;">';
	while($row=mysql_fetch_array($result,MYSQL_ASSOC))
	{print_r($row);
	}
}
mysql_close($conn);
?>
while ループを使用して関数 mysql_fetch_array() を複数回呼び出し、呼び出しによって返された配列を毎回変数 $row に割り当て、ループ本体で配列変数 $row を出力します。関数 mysql_fetch_array() を呼び出すときは、2 番目のパラメータを MYSQL_ASSOC として指定します。これにより、返される結果セット配列は、フィールド名によってインデックス付けされた連想配列になります。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。