PHP 数据表相关

1.创建数据表

$con = mysql_connect("localhost","root","");
 mysql_select_db("CT", $con);
 $sql ="CREATE TABLE IF NOT EXISTS `qoe_service_user` ( `id` int(8) NOT NULL auto_increment, `service_user` varchar(20) NOT NULL, `counter` int(8) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;";

    if( mysql_query( $sql ) )
    {
        echo '创建数据表qoe_service_user成功';
    }
    else
    {
        echo '查检sql语句,数据表创建失败';
    }

}

数据表名,字段名都是用 ` 包围(数字1旁边那个)

2.连接,查询数据库

<?php $con = mysql_connect("localhost","root",""); if (!$con) { die('数据库连接失败: ' . mysql_error()); } else { mysql_select_db("demosql", $con); $result = mysql_query("SELECT * FROM teacher"); while($row = mysql_fetch_array($result)) { echo $row['id'] . " " . $row['name'];//读取每条记录 echo "<br />"; } 或者用这个whilewhile($row=mysql_fetch_array($result)){ $foodsPic[]=$row; } var_dump($foodsPic); mysql_close($con); ?>

2.1 字符集设置

在mysql_select_db之前,加上 mysql_query("SET NAMES utf8");
在mysql数据库中有3个变量:
character_set_client
character_set_connection
character_set_results
你可以分别理解为:客户端 连接器 返回值

客户端 :通常有cmd下的命令行,或者浏览器
连接器 :这个比较抽象,我们看不到,应该是在mysql数据库中的
返回值 : 就是以什么样的字符编码来给客户端

我们一般在cmd下set names gbk 或者php文件中 mysql_query('set names utf8'),其实就是相当于同时设置上面所说的3个变量的值为 gbk 或者 utf8 ,也就是客户端、连接器、返回值都为一样的字符编码,如果你足够耐心也可以再mysql命令行下分别设置这3个变量的值,比如:

set character_set_client =gbk;
set character_set_connection = gbk;
set character_set_results = gbk;
mysql_fetch_array():
mysql_fetch_array(data,array_type)
参数  描述
data 可选。规定要使用的数据指针。该数据指针是 mysql_query() 函数产生的结果。
array_type  
可选。规定返回哪种结果。可能的值:
MYSQL_ASSOC - 关联数组:a['id']=>1
MYSQL_NUM   - 数字数组:a[0]=>1
MYSQL_BOTH  - 默认。同时产生关联和数字数组
$result = mysql_query("select distinct service_user from test");//去除重复的service_user,得到14328while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
        $c[]=$row;
    }
    var_dump(count($c));//14328
    var_dump($c);

你可能感兴趣的:(mysql,PHP)