php 有几种mysql数据库操作dll
梨树网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
一种mysql(7.0新版本已经停用了) mysqli 和 PDO
mysql查询方法
$result = mysql_query("SELECT * FROM teacher");
while($row = mysql_fetch_array($result))
{
echo $row['id'] . " " . $row['name'];
echo "br /";
}
mysqli 查询方法
$result = $mysqli-query("SELECT Name FROM City LIMIT 10")
PDO查询
$dbh = "mysql:host=localhost;dbname=test";
$db = new PDO($dbh, 'root', 'root123');
$db-query("set character set 'gbk'");
如果如上的内容都是存于一个表中(test),那么就一个select查询就可以了,不在一个表中就需要些left
join
in
如果在框架中要显示查找出来的内容,可能需要调用模板,
如果没用模板那么就简单了,如果没有搜索条件的话直接echo就可以,有条件就加上where
$connection=mysql_connect
("localhost","root","123");
mysql_select_db("test",$connection);
$result=mysql_query("select
*
from
test");
$num_results=
mysql_num_fields($result);
echo
'pNumber
of
books
found:
'.$num_results.'/p';
while($row
=
mysql_fetch_assoc($result))
{
echo
'hr/
链接来源|;
;
;
;
广告媒介|;
;
;
;
|活动'
echo
'hr/'.$row['Utm_source'].$row['Utm_medium'].$row['Utm_campaign'];
}
mysql_close($connection);
PHP 版本 = 5.2 的常用连接方法为
$link = mysql_connect('mysql地址/localhost','root','root密码');
mysql_select_db('db1'); //选择一个数据库
mysql_query('set names utf8'); // 设置下数据库默认编码,避免写入/读取乱码
$res = mysql_query('select * from user'); // 执行sql 语句
$rows = array();
while($row = mysql_fetch_array($res)){
$rows[] = $row; // 循环 resouce 数据得到数组数据集合
}
print_r($rows); // 最后一步输出数据列表
PHP 版本 = 5.3 的常用连接方法为PDO形式,当然也可以使用5.2的连接方法。(PDO需开启 php_pdo_mysql 扩展)
$pdo = new PDO('mysql:host=地址/localhost;dbname=数据库名','root','root密码');
$pdo-exec('set names utf8');
$res = $pdo-query('select * from user');
$rows = array();
while($row = $res-fetch()){
$rows[] = $row;
}
print_r($rows);
大家学习php途中,建议使用5.3 版本以上以获得更好的php编程体验。
所以推荐pdo形式连接数据库,更安全快速。
1、首先打开MYSQL的管理工具,新建一个test表,并且在表中插入两个字段。
2、接下来在Editplus编辑器中创建一个PHP文件,然后进行数据库连接,并且选择要操作的数据库。
3、然后通过mysql_query方法执行一个Insert的插入语句。
4、执行完毕以后,我们回到数据库管理工具中,这个时候你会发现插入的中文乱码了。
5、接下来我们在PHP文件中通过mysql_query执行一个set names utf8语句即可完成操作。
?phpclass mysql{private $db_host; //数据库主机private $db_user;
//数据库用户名private $db_pwd; //数据库用户名密码private $db_database;
//数据库名private $conn; //数据库连接标识;private $result;
//执行query命令的结果资源标识private $sql; //sql执行语句private $row;
//返回的条目数private $coding; //数据库编码,GBK,UTF8,gb2312private $bulletin =
true; //是否开启错误记录private $show_error = true;
//测试阶段,显示所有错误,具有安全隐患,默认关闭private $is_error = false;
//发现错误是否立即终止,默认true,建议不启用,因为当有问题时用户什么也看不到是很苦恼的/*构造函数*/public function
__construct($db_host,$db_user,$db_pwd,$db_database,$conn,$coding){$this-db_host=$db_host;$this-db_user=$db_user;$this-db_pwd
=
$db_pwd;$this-db_database=$db_database;$this-conn=$conn;$this-
gt;coding=$coding;$this-connect();}/*数据库连接*/ public
function
connect(){if($this-conn=="pconn"){//永久链接$this-
conn=mysql_pconnect($this-db_host,$this-db_user,$this-
db_pwd);}else{//即使链接$this-conn=mysql_connect($this-
db_host,$this-db_user,$this-db_pwd);}if(!mysql_select_db($this-db_database,$this-conn))
{if($this-show_error){$this-show_error("数据库不可
用:",$this-db_database);}}mysql_query("SET NAMES
$this-coding");}/*数据库执行语句,可执行查询添加修改删除等任何sql语句*/public function
query($sql){ if($sql ==
""){$this-show_error("sql语句错误:","sql查询语句为空");}$this-sql =
$sql;$result =
mysql_query($this-sql,$this-conn);if(!$result){//调试中使用,sql语句出错时会
自动打印出来if($this-show_error){$this-show_error("错误sql语
句:",$this-sql);}}else{$this-result = $result;}return
$this-result; }/*创建添加新的数据库*/public function
create_database($database_name){$database=$database_name;$sqlDatabase =
'create database
'.$database;$this-query($sqlDatabase);}/*查询服务器所有数据库*///将系统数据库与用户数据库分
开,更直观的显示?public function show_databases(){$this-query("show
databases");echo "现有数据库:".$amount =$this-db_num_rows($rs);echo
"br /";$i=1;while($row = $this-fetch_array($rs)){ echo "$i
$row[Database]"; echo "br /";$i++;}}//以数组形式返回主机中所有数据库名public
function
databases(){$rsPtr=mysql_list_dbs($this-conn);$i=0;$cnt=mysql_num_rows($rsPtr);while($i$cnt){$rs[]=mysql_db_name($rsPtr,$i);$i++;}return
$rs;}/*查询数据库下所有的表*/function
show_tables($database_name){$this-query("show tables");echo
"现有数据库:".$amount = $this-db_num_rows($rs);echo "br
/";$i=1;while($row =
$this-fetch_array($rs)){$columnName="Tables_in_".$database_name;echo
"$i $row[$columnName]";echo "br
/";$i++;}}/*mysql_fetch_row() array
$row[0],$row[1],$row[2]mysql_fetch_array() array $row[0] 或
$row[id]mysql_fetch_assoc() array 用$row-content
字段大小写敏感mysql_fetch_object() object 用$row[id],$row[content]
字段大小写敏感*//*取得结果数据*/public function mysql_result_li(){return
mysql_result($str);}/*取得记录集,获取数组-索引和关联,使用$row['content'] */public
function fetch_array(){ return
mysql_fetch_array($this-result);}//获取关联数组,使用$row['字段名']public
function fetch_assoc(){return
mysql_fetch_assoc($this-result);} //获取数字索引数组,使
用$row[0],$row[1],$row[2]public function fetch_row(){return
mysql_fetch_row($this-result);}//获取对象数组,使用$row-contentpublic
function fetch_Object(){return
mysql_fetch_object($this-result);}//简化查询selectpublic function
findall($table){$this-query("SELECT * FROM
$table");}//简化查询selectpublic function
select($table,$columnName,$condition){if($columnName==""){$columnName="*";}$this-query("SELECT
$columnName FROM $table where $condition");}//简化删除delpublic function
delete($table,$condition){$this-query("DELETE FROM $table WHERE
$condition");}//简化插入insertpublic function
insert($table,$columnName,$value){$this-query("INSERT INTO $table
($columnName) VALUES ($value)");}//简化修改updatepublic function
update($table,$mod_content,$condition){$this-query("UPDATE $table
SET $mod_content WHERE $condition");}/*取得上一步 INSERT 操作产生的 ID*/public
function insert_id(){return mysql_insert_id();}//指向确定的一条数据记录public
function
db_data_seek($id){if($id0){$id=$id-1;}if(!@mysql_data_seek($this-
gt;result,$id)){$this-show_error("sql语句有误:", "指定的数据为空"); }return
$this-result;}// 根据select查询结果计算结果集条数public function
db_num_rows(){if($this-result==null){if($this-show_error)
{$this-show_error("sql语句错误","暂时为空,没有任何内容!");} }else{return
mysql_num_rows($this-result);}}//
根据insert,update,delete执行结果取得影响行数public function
db_affected_rows(){return mysql_affected_rows();}//输出显示sql语句public
function show_error($message="",$sql=""){if(!$sql){echo "font
color='red'".$message."/font";echo "br /";}else{echo
"fieldset";echo "legend错误信息提示:/legendbr
/";echo "div style='font-size:14px; clear:both;
font-family:Verdana, Arial, Helvetica, sans-serif;'";echo "div
style='height:20px; background:#000000; border:1px #000000
solid'";echo "font color='white'错误号:12142/font";echo
"/divbr /"; echo "错误原因:".mysql_error()."br
/br /";echo "div style='height:20px; background:#FF0000;
border:1px #FF0000 solid'";echo "font
color='white'".$message."/font";echo "/div";echo
"font
color='red'pre".$sql."/pre/font";$ip=$this-getip(); if($this-bulletin){$time
= date("Y-m-d
H:i:s");$message=$message."\r\n$this-sql"."\r\n客户IP:$ip"."\r\n时间
:$time"."\r\n\r\n";$server_date=date("Y-m-
d");$filename=$server_date.".txt";$file_path="error/".$filename;$error_content=$message;
//$error_content="错误的数据库,不可以链接";$file = "error";
//设置文件保存目录//建立文件夹if(!file_exists($file)){if(!mkdir($file,0777)){//默认的
mode 是 0777,意味着最大可能的访问权die("upload files directory does not exist and
creation failed");}}//建立txt日期文件if(!file_exists($file_path)){//echo
"建立日期文件";fopen($file_path,"w+");//首先要确定文件存在并且可写if
(is_writable($file_path)){//使用添加模式打开$filename,文件指针将会在文件的开头if (!$handle =
fopen($file_path, 'a')){echo "不能打开文件
$filename";exit;}//将$somecontent写入到我们打开的文件中。if (!fwrite($handle,
$error_content)){echo "不能写入到文件 $filename";exit;}//echo "文件 $filename
写入成功";echo "——错误记录被保存!";//关闭文件fclose($handle);} else {echo "文件 $filename
不可写";}}else{//首先要确定文件存在并且可写if
(is_writable($file_path)){//使用添加模式打开$filename,文件指针将会在文件的开头if (!$handle =
fopen($file_path, 'a')){echo "不能打开文件
$filename";exit;}//将$somecontent写入到我们打开的文件中。if (!fwrite($handle,
$error_content)){echo "不能写入到文件 $filename";exit;}//echo "文件 $filename
写入成功";echo "——错误记录被保存!";//关闭文件fclose($handle);} else {echo "文件 $filename
不可写";}}}echo "br /";if($this-is_error){exit;}}echo
"/div";echo "/fieldset";echo "br
/";}//释放结果集public function
free(){@mysql_free_result($this-result);}//数据库选择public function
select_db($db_database){return
mysql_select_db($db_database);}//查询字段数量public function
num_fields($table_name){//return
mysql_num_fields($this-result);$this-query("select * from
$table_name");echo "br /";echo "字段数:".$total =
mysql_num_fields($this-result);echo "pre";for ($i=0;
$i$total; $i++){print_r(mysql_fetch_field($this-result,$i)
);}echo "/pre";echo "br /";}//取得 MySQL 服务器信息public
function mysql_server($num=''){switch ($num){case 1 :return
mysql_get_server_info(); //MySQL 服务器信息break;case 2 :return
mysql_get_host_info(); //取得 MySQL 主机信息break;case 3 :return
mysql_get_client_info(); //取得 MySQL 客户端信息break;case 4 :return
mysql_get_proto_info(); //取得 MySQL 协议信息break;default:return
mysql_get_client_info(); //默认取得mysql版本信息}}//析构函数,自动关闭数据库,垃圾回收机制public
function
__destruct(){if(!empty($this-result)){$this-free();}mysql_close($this-conn);}//function
__destruct();/*获得客户端真实的IP地址*/function
getip(){if(getenv("HTTP_CLIENT_IP")
strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")){$ip =
getenv("HTTP_CLIENT_IP");}else if (getenv("HTTP_X_FORWARDED_FOR")
strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")){$ip =
getenv("HTTP_X_FORWARDED_FOR");}else if (getenv("REMOTE_ADDR")
strcasecmp(getenv("REMOTE_ADDR"), "unknown")){$ip =
getenv("REMOTE_ADDR");}else if (isset($_SERVER['REMOTE_ADDR'])
$_SERVER['REMOTE_ADDR']
strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")){$ip =
$_SERVER['REMOTE_ADDR'];}else{$ip = "unknown"; }return($ip);}}?