ホームページ >データベース >mysql チュートリアル >PHP从零单排(十三)使用PHP显示MySQL数据库的数据_MySQL
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);//连接MySQLif(!$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:php;toolbar:false">'; print_r($row);}mysql_close($conn);?>函数mysql_fetch_array(),讲述到该函数返回的是结果集中的一行,并将其作为关联数组或普通数组,默认该返回数组是二者兼有的。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:php;toolbar:false">'; while($row=mysql_fetch_array($result,MYSQL_ASSOC)) {print_r($row); }}mysql_close($conn);?>使用while循环多次调用函数mysql_fetch_array(),每次将调用返回的数组赋给变量$row,然后在循环体内将数组变量$row输出。调用函数mysql_fetch_array()时,指定第二个参数为MYSQL_ASSOC,因此其返回的结果集数组是以字段名为索引的关联数组。